*每一个有收获的日子都会来分享一下,今天和大家说一下近几年的主流微服务与Spring Cloud。
本人自己菜鸟一个,能够分享的知识有限,如果只是想初窥门径,那么本篇将会是一个还算不错的引导。
*
本文只是对于此方面比较陌生的读者提供一个大概框架,相当于杯子。使自己在今后的学习当中不至于使盲人摸象。本片实际上没有什么干货,在以后的时日,可能会梳理出来。
什么是微服务?
Java架构的演变简单的来说是“单体->分布式->微服务”。随着网络用户的日益增多,起初是增加硬件来解决高并发场景。而随着硬件各种限制,然后就兴起微服务与云的概念。
简单的概括微服务的特点:
- 微服务式架构设计的风格。
- 总体开发的依然是一个独立的应用。
- 每个服务都是一个独立的进程。(java/c++)
- 每个服务之间需要信息传递,需要轻量级的通信机制。
- 这些服务通常采用自动化部署机制。(结合容器以及容器编排方案)
- 每一个独立的服务可以是不同语言开发、不同数据源。
- 去中心化:主从模型等。
这样的设计会使得整个项目更加的低耦合、高内聚。每一个微服务(功能模块)都使一个独立的进程。
以上就是微服务的概念。
Spring Cloud有什么用?
Spring Cloud是用来解决微服务之间的各种问题的。对于spring而言,spring cloud 整合原有Spring工程。对于微服务中间件而言,spring cloud 定义标准,让不同的厂商来实现这个标准,实现适配。
微服务中常见的就是服务注册中心,一个项目有多个服务,也就伴随着多个访问url。并且如果采用了集群,那么每个服务也会伴随着多个url。这样模块之间的请求就会显得尤为繁琐,这就诞生了服务注册中心。
Spring Cloud规定了这些组件相关的接口,所以在其他公司依照这个接口开发出的服务注册中心,并且提供好相应的API,就可以比较方便的整合到Spring项目中去,。同样的负载均衡、熔断等等微服务之间的问题,Spring Cloud都提供了相应的接口与相应组件的整合。可以使得开发者快速的搭建器一套高可用的微服务项目。
以上。
文章知识点与官方知识档案匹配,可进一步学习相关知识
Java技能树首页概览108492 人正在系统学习中