如果单体架构转微服务架构的话,对于单体架构的逻辑代码,会有什么改变吗,如果有的话应该注意哪些方面呢?
1、这意味着业务模块的拆分,原来通过一个url可以访问,但是现在模块位于不通的主机,通过HTTP协议或者通过openFign中间件调用。
2、关于线程安全问题:单体的线程安全问题可能处理起来比较容易,微服务的话得使用第三方线程安全组件,比如redisson等保证线程安全。
3、关于数据库:如果你采用多台数据库服务,那么最好采用主从结构,保证数据的一致性。
4、若你采用了缓存中间件,比如redis,为了健壮性,也得多台,主从或者集群部署。
5、一旦数据库和缓存一多,你必须保证数据库和缓存的数据一致性,其实方法很多,网上一搜一大把。
6、代码中的容器就不要用线程不安全的。比如ArrayList,HashMap等,采用JUC包中的相关类。
暂时想到这么多。
1:微服务架构 你说的是 boot 架构么? 如果是的话 很多都不会变, 只是设计环境配置,一些代码的引用 可能需要变化了 ..大体逻辑还是那样