lizhiyong 2019-06-30
1、在学习软件构造、设计相关知识时,大家应该有学习到内聚性的概念:即把因相同原因而变化的东西聚合到一起,而把因不同原因而变化的东西分离开来。而
微服务将这个理念应用在独立的服务上。根据业务的边界来确定服务的边界,这样就很容 易确定某个功能代码应该放在哪里。我个人觉得,微服务就是将原来的单体应用安装功能进行切分,然后各个服务之间通过通信(跨进程、跨机器)来共同完成原来的单体应用所提供的功能。
微服务对比与原来的单体应用,有它的优势,如服务的自治性增强、但同时也会带来一些其他问题,如性能、复杂度等问题。
2、想要使用微服务,首先是要清楚哪些业务或者功能应该成为单独的服务。《微服务设计》一书中给了一些建议:
当你在思考组织内的限界上下文时,不应该从共享数据的角度来考虑,而应该从这些上下 文能够提供的功能来考虑。当然,书中列出的建议不止这些,我也想谈一谈我自己的一些想法。
如有不正确的地方,欢迎指正交流。