Day1 初识微服务
为什么要用微服务?
单体服务开发时,当同时开发人数较多的时候。提交代码,以及上线前的回归测试都很容易会发生冲突。微服务可以很大程度上减少这种冲突,即便发生也相对更容易沟通解决。所以今天我们来看看微服务为什么有这种魔力吧。
微服务是将一个大的单体服务拆分成多个服务,每一个服务都是独立的研发、测试、上线、升级,与其他服务之间耦合不会太大,所以每个服务的研发效率会高很多,因为冲突少了很多。效率的提升我认为是微服务一大优势。
列举一些后续要学的概念:注册中心、RPC框架、多环境隔离、自动化部署、分布式事务、限流/熔断/升级、配置中心、监控中心、链路监控、日志中心、API网关、安全认证、服务治理。每一个概念都会沉淀一篇文章。
下图为微服务的一个入门架构图,可以很明确的看到我们之后要学组件的位置与作用,可以帮助我们更好的在一望无际的海洋中判断当前的定位,不会感觉学的很迷茫,如同灯塔一样。
微服务框架技术栈
- Spring Cloud netfix
- zipkin和sleuth:链路监控
- stream:消息中间件集成
- contract:契约测试支持
- gateway:网关
- consul:注册中心
- spring security:安全认证
- k8s:容器
- Spring Cloud Alibaba
- nacos:注册中心
- dubbo:RPC框架
- seata:分布式事务
- sentinel:限流/熔断/降级
- 开源组件
- 配置中心
- spring cloud config
- apollo
- 监控中心
- CAT
- Prometheus
- ELK
- 网关
- Spring Cloud Gateway
- Nginx + lua
- Kong
- Zuul
- API网关自研
- 配置中心
本专栏的技术体系选择为 Spring Cloud Alibaba + 开源组件。
课程来源:儒猿课堂