微服务于微服务架构
微服务强调服务的大小,他关注某一个点,一个模块只做一种事情
微服务架构通常而言,他提倡将单一的程序划分为一组小的服务,每个服务运行在独立的进程中,采用轻量级的通信机制 doubbo是rpc,springcloud是restful
微服务的优点
每个服务足够内聚,代码容易聚焦,开发简答,微服务可以被小团队单独开发,微服务松耦合,微服务可以使用不同的语言开发,易于第三方集成,微服务不会和html/css等组件混合
微服务的缺点
开发人员要处理分布式系统的复杂性,多服务运维难度提高,系统部署依赖,服务间通信成本提高,数据一致性问题,系统集成测试问题
微服务技术栈
微服务条目 | 技术 |
---|---|
服务开发 | Spring,SpringBoot,SpringMVC |
服务配置与管理 | Archaius,Diamond |
服务注册与发现 | Eureka,Consul,Zookeeper |
服务调用 | Rest,RPC,gRPC |
服务熔断器 | Hystrix,Envoy |
负载均衡 | Ribbon,Nginx |
服务接口调用 | Feign |
消息队列 | Kafka,RabbitMQ,ActiveMQ |
服务配置中心管理 | SpringCloudCOnfig,Chef |
服务路由 | Zuul |
服务监控 | Zabbix,Nagios,Metrics,Spectator |
全链路追踪 | Zipkin,Brave,Dapper |
服务部署 | Docker, OpenStack,Kubernetes |
数据流操作开发包 | SpringCloudStream |
事件消息总线 | SpringCloudBus |
为什么选择SpringCloud?
其他的微服务架构
阿里用Dubbo/HSF 2012-2017年就没有维护了
京东JSF
新浪Motan
当当DubboX
SpringCloud的优点
他提供了完整的微服务框架,完整!!!!