微服务开篇
微服务SpringCloudAlibaba-开篇
这个项目是做什么的?
其实是想做一个微服务架构的脚手架,只关注架构设计,不实现具体业务。大概涉及一下几点:
- 技术选型
- 二次封装
- 代码分层
- 统一异常处理
- 统一响应风格
- 统一MQ
- 统一熔断、提示、日志存储
- 分布式事务
- 链路追踪
- Oath2?
- 网关(流控、降级、削峰、认证?)
- API接口文档
- restful 接口规范
为什么要做这个项目?
现在微服务大致分为三种:
- SpringCloud: Eureka、Feign、Hystrix…:全套生态,但是restful调用方式略弱于RPC,且部分组件已不再维护
- Dubbo、Zookeeper : RPC调用,但非完整生态,需要东拼西凑出一套完整的微服务生态。
- SpringCloudAlibaba: Nacos、Sentinel、Seata、Dubbo: 完整生态且更新正常,但是当前正在上升期尚未稳定,感觉前景还不错。
目的其实为了整和出一个可拔插式的项目架构,允许后期变更,SpringCloudAlibaba构建一个完整的微服务生态,且兼容RPC和restful风格的调用方式。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 KTHIRTY!