这里写目录标题
1.什么是微服务
微服务专注于做一件事,并把它做好。它能很好的实现复用、高度自冶(独立开发、部署、运维、监控等)、横向扩展(有状态的除外)。
2.微服务边界
微服务的边界一般可以划分为逻辑边界、物理边界、代码边界。
**逻辑边界:**为了完整的达到某一个业务目标,各微服务或模块之间的边界。
**物理边界:**从部署和运行的视角上来讲、各微服务之间的部署和运行是相隔离的,不同的微服务运行在不同的服务器上(至少是不同的进程里)。
**代码边界:**不同职责的代码之间相到隔离,这一点对于架构演讲、复用、二资拆分和聚合都非常重要。
3.微服务的拆分和设计
微服务要怎么拆分和设计才算合理、拆多小才叫微服务?按照上面的定义“专注做一件事……”,这样做看似合理,但在实际应用中确存在很大问题(真要这样拆,告诉你,完了),例如拆分过细,会导致微服务的数据非常庞大,会造成微服务的管理、运维、监控、服务之间调用的开销急剧增大。
4.DDD
之前一直微服务都有所研究,但一直没有一套系统的,且行之有效的方式进行拆分和设计,绝大时候还是靠个人理解及经验。后面一次偶然的机会接触到DDD,深入研究后发现运用DDD思想设计的微服务边界十分的清晰合理。后续具体介绍DDD。