一、微服务概述
目前业界没有统一标准的定义,通常而言,微服务架构
是一种架构模式或一种架构风格,提倡将单一应用程序划分成一组小的服务
,每个服务运行在其独立的自己的进程
中。服务之间采用轻量级的通信机制进行沟通(本质区别,cloud基于HTTP的RESTful API,dubbo基于RPC),每个服务独立部署发布,可以用不同语言编写服务。
微服务
强调的是服务的大小,一个个的个体,一个服务应用
技术纬度理解:微服务核心就是将传统一站式应用根据业务
拆分成一个个的服务,彻底去耦合,一个微服务提供单个业务功能的服务且只做一件事(如发短信,下订单),小而独立的处理过程,类似进程,
分布式:专业的事交给专业的人做,尽量降低耦合度
微服务技术栈:
条目 | 技术 |
---|---|
服务开发 | Springboot、Spring、SpringMVC |
服务配置与管理 | Netflix公司的Archaius、阿里的Diamond |
服务注册与发现 | EureKa、Consul、Zookeeper |
服务调用 | Rpc、Rest、gRpc |
服务熔断器 | Hhystrix、Envoy |
负载均衡 | Ribbon、Nginx |
服务接口调用 | Feign |
消息队列 | Kafka、RabbitMQ、ActiveMQ |
服务配置中心管理 | SpringCloudConfig、Chef |
服务路由(API网关) | Zuul |
服务监控 | Zabbix、Nagions、Metrics |
全链路追踪 | Zipkin、Brave |
服务部署 | Docker、OpenStack |
数据流操作开发包 | SpringCloud Stream |
事件消息总栈 | SpringCloud Sus |
…. |
二、SpringCloud
微服务全家桶,基于springboot提供了一套微服务解决方案,各个微服务架构落地技术的集合体。
区别
:springboot专注于快速方便开发单个微服务个体,springcloud依赖于springboot,关注全局服务治理框架
与dubbo区别:
最大区别:cloud抛弃了dubbo的rpc通信,采用基于http的rest方式,功能区别,社区支持和更新力度区别。
本文作者:
secret
本文链接: http://wecret.github.io/2019/10/24/1/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!
本文链接: http://wecret.github.io/2019/10/24/1/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!