SpringCloud简介
微服务架构简介
将单体应用拆分为多个高内聚、低耦合的小型服务。每个小服务运行在独立进程,
由不同的团队开发和维护。服务间采用轻量级通信机制,独立自动部署。可以采用不同的语言及存储。
微服务优势
1.易于开发和维护。微服务相对小,易于理解;启动时间短,开发效率高
2.独立部署。一个微服务的修改不需要协调其他服务
3.伸缩性强。每个服务都可以在横向和纵向上扩展,每个服务都可以按硬件的需求进行独立扩容
4.与组织结构相匹配。微服务架构可以更好地将架构和组织相匹配,每个团队独立负责某些服务,获得更高的生产力
5.技术异构性。使用最适合该服务的技术,降低尝试新技术的成本
SpringCloud介绍
Spring Cloud是一个工具组件集,快速搭建分布式环境的通用模式,
比如:服务注册与发现、负载均衡、分布式配置、分布式追踪、断路器等
Spring Cloud基于Spring Boot开发,每个组件都对应一个起步依赖
组件之间可以整合到一起发挥作用
微服务技术栈
微服务条目 | 技术 |
---|---|
服务开发 | SpringBoot、Spring、SpringMVC |
服务配置与管理 | Netflix公司的Archaius、阿里的Diamond |
服务注册与发现 | Eureka、Consul、ZooKeeper |
服务调用 | Rest、RPC、gRPC |
服务熔断器 | Hystrix、Envoy |
负载均衡 | Ribbon、Nginx |
服务接口调用(客户端调用服务的简化工具) | Feign |
消息队列 | ActiveMQ、RabbitMQ、Kafaka |
服务配置中心管理 | SpringCloudConfig、Chef |
服务路由(网关) | Zuul |
服务监控 | Zabbix、Nagios、Metrics、Spectator |
全链路追踪 | Zipkin、Brave、Dapper |
服务部署 | Docker、OpenStack、Kubernetes |
数据流操作开发包 | SpringCloud Stream(封装与Redis、Rabbit、Kafaka等发送接收消息) |
事件消息总线 | SpringCloud Bus |
服务注册与发现服务对比
作者:一毛
本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。
不管遇到了什么烦心事,都不要自己为难自己;无论今天发生多么糟糕的事,都不应该感到悲伤。记住一句话:越努力,越幸运。