springcloud微服务架构

本系列专题将介绍springcloud的微服务项目搭建。所以,开篇先介绍什么微服务的概念及架构。

目录

一、什么是微服务架构

1、微服务。

2、微服务架构

3、微服务架构与分布式架构的区别

二、微服务架构-架构图

1、大型微服务架构,实例

2、微服务架构-简版

3、微服务架构-迷你版​编辑

4、微服务架构-抽像版

三、springCloud微服务体系

 1、springCloud Alibaba

2、springCloud Netflix的核心组件

四、总结


一、什么是微服务架构

1、微服务

顾名思义就是将一个大型的系统服务拆分成很多的小型服务,这些服务可以单独的运行在进程中,一个小型的服务就相当于是整个系统架构中的一个模块功能,即可以单独运行,提供服务,又为其他服务提供协作,我们把这种整个系统架构中的每个小型服务就可以称之为“微服务”。

2、微服务架构

微服务是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间采用轻量级的通信机制互相沟通,每个服务都围绕着具体业务进行构建,并且能够被独立地部署到生产环境。

3、微服务架构与分布式架构的区别

分布式与微服务的架构有些相似,在概念上还是有很大的差异:

  • 范围不同,分布式系统是更大的概念,包括微服务架构;微服务是一种特定的分布式系统架构风格。
  • 目标不同,分布式系统的目标是提高系统的可伸缩性、可用性和容错性;微服务的目标是提高应用程序的开发效率、可维护性和可复用性。
  • 自治性不同,在分布式系统中,各个组件之间存在一定的耦合关系;而在微服务架构中,每个服务都是独立的、自治的。
  • 部署方式不同,分布式系统通常采用集中式部署或分布式部署的方式;微服务每个服务都可以独立部署,可以根据业务需求进行弹性伸缩,部署在不同的服务器上,甚至可以部署在不同的云平台上。

在生产环境中,微服务架构一定是分布式的,但分布式的不一定是微服务架构。

二、微服务架构-架构图

1、大型微服务架构,实例

springcloud微服务架构_第1张图片

2、微服务架构-简版

springcloud微服务架构_第2张图片

3、微服务架构-迷你版springcloud微服务架构_第3张图片

4、微服务架构-抽像版

springcloud微服务架构_第4张图片

网关是什么?Nginx也是网关,也可以由nginx 直接访问各服务,每个服务就是一个微服务。

(微服务也不一定就意味着需要多个,一个也可以,网关提供了扩展,未来可以多个。)

其他的组件,我认为都是为更好的提升服务所延伸出来的:

•有了nginx,为什么还要gateway?为了更好的鉴权,更好的路由管理,为了加解密的需要
•为了让业务解偶,为了高并发,所以有多个微服务,有MQ,有REDIS
•为了安全,所以有鉴权,加解密,日志,限流,负载均衡,熔断
•为了服务间的通讯方便,所以有了注册中心
•为了服务间的配置方便,所以有了配置中心,能立即生效而不用重启应用
•为了高可用,所以有集群
为了部署方便,所以有了docker\k8s 

三、springCloud微服务体系

springcloud微服务架构_第5张图片

其实,还有更多的微服务框架,只是我们使用得较多或说比较信任这两套的组件,用户量也大。

当然,这两套的组件我们是可以组合使用的。

 1、springCloud Alibaba

官网参见:

Spring Cloud Alibaba 是什么 | Spring Cloud Alibaba (aliyun.com)

springcloud微服务架构_第6张图片

2、springCloud Netflix的核心组件

官网参见:

Spring Cloud Netflixicon-default.png?t=N7T8https://cloud.spring.io/spring-cloud-static/spring-cloud-netflix/1.1.7.RELEASE/

springCloudNetflixs核心组件有:

Eureka;Ribbon;Hystrix;Zuul;Config ;Fegin

Spring Cloud Netflix

四、总结

先介绍这么多吧。后面再根据需要展开介绍。

还是那句话,不一定都需要,用得上才需要上。大家先了解各组件是做什么的,然后视项目情况集成。

后面的项目,我将用自己的技术选型进行组合式的项目搭建。

nacos +gateway +redis +kafka 作为核心组件。

你可能感兴趣的:(SpringCloud微服务,spring,cloud,微服务,架构)