微服务优点
- 易于开发和维护,一个微服务只会关注一个特定的业务功能,所以他业务信息代码量较少,开发和维护单个微服务相对简单,而整个应用是由若干个微服务构建而成的。
- 单个微服务启动较快,单个微服务代码量较少,所以启动比较快。
- 局部修改容易部署,单体应用只要有修改就得重新部署,整个应用为服务解决了该问题,如果想对某个微服务进行修改,只需要重新部署这个服务即可。
- 技术栈不受限,可以结合项目业务和团队特点合理的选择技术
- 按需伸缩,可根据需求实现细粒度的扩展
微服务架构的挑战
- 运维要求较高,投入较大
- 分布式固有的复杂性
- 分布式日志
- 分布式事务
- 分布式session
- 系统容错
- 网络延迟
分布式/微服务总结
微服务之自动划部署
- 私有仓库搭建Nexus
- 持续集成Jenkins+Maven
- 灰度发布
Nexus+Jenkins+Maven+Git+GitLab+Docker+K8s
微服务之日志收集与性能监控
- 各服务日志收集分析ELK
- 性能监控Zabbix
- 链路追踪Sleuth+Zipkin
ELK(EalsticSearch+Logstash+kibana)+SpringCloud+SpringBoot+Sleuth+Zipkin+Zabbix
微服务之自动划测试与性能管理
Nexus+Jenkins+Git+GitLab+Docker+SonarQube
微服务之监控报警
SpringBoot+Prometheus+Grafana+AlterManager+微信报警