单体架构--->微服务架构
what:以一组小型服务来开发一个独立的应用系统
1.每个微服务可以独立运行在自己的进程里;
2.一系列独立运行的微服务共同构建起了整个系统
3.一个微服务一般完成某个特定的功能;
4.微服务通过一些轻量的通信机制进行通信,例如REST API或者RPC方式进行调用
优点:
1.易于开发和维护
2. 单个微服务启动较快
3.局部修改容易部署
4.技术栈不受限( 比如不同数据库 ,不同语言)
5. 按需伸缩 (不同配置)
6. devops (devops 详细参考https://www.cnblogs.com/liufei1983/p/7152013.html)
挑战:
1. 运维要求较高 (数量)
2. 分布式固有复杂性 (系统容错 网络延迟)
3. 接口调整成本高
4. 重复劳动 (比如工具类)
设计原则:
1. 单一职责原则
2. 服务自治原则
3. 轻量级通信原则
4. 接口明确原则 少改
微服务框架:如Dubbo 、SpringCould
spingCould官网地址:http://spring.io/projects/spring-cloud
dubbo官网地址:http://dubbo.apache.org/zh-cn/