云原生架构
之前一位同事分享了云原生架构,什么是云原生架构?就是应用在构建之时,就优先考虑运行于云上的架构。
云原生架构中有4个重要组成部分
- 微服务
- 应用可以被独立的部署、更新、重启、水平扩容
- 应用之间通过RESTful api进行通信
- DevOps
- CICD工具、自动化发布
- 帮助开发和运维快速发布应用
- 持续交付
- 频繁发布、快速发布能力
- 容器
- 微服务运行载体
微服务和传统服务的区别
微服务还要很多优势
- 高度可扩展
- 得益于restful,接口语言无关性,更加易用,更加开放
- 易于部署
微服务体系中的关键要素
对于我们大公司来说,体系中的组件我们都有单独的基础团队来完成,那么如果没有这样的条件咋办呢?
答案就是SpringCloud
微服务架构的集大成者:SpringCloud
springboot是开发spring项目的最佳脚手架
springcloud基于此构建了一系列的组件,使得业务可以专注业务开发
SpringCloud生态
SpringCloud提供了很多组件,大部分我们公司都有对应的产品,也有部分为云上运行服务的组件,我们没有。
先整体说下每个组件的作用
服务中心:
Spring Cloud Eureka
Spring Cloud Consul
负载均衡:
Spring Cloud Ribbon
http客户端:
Spring Cloud Feign
断路器:
Spring Cloud Hystrix
配置中心:
Spring Cloud Config
网关:
Spring Cloud Zuul
消息总线:
Spring Cloud Bus
mq集成:
Spring Cloud Stream
等等
参考
http://dockone.io/article/2991