首页 > 技术文章 > 微服务架构思想

javazl 2020-03-26 10:34 原文

微服务简介

      简单来说,微服务就是一种思想。

     1.发展史:每一种思想的诞生到成熟,都会在实践中演化出几次里程碑式的突破。所以它的发展史,再此就不做介绍。

     2.为什么要用微服务?

在互联网应用中,所诞生的产品都有两大特点,需求变化大,还有就是用户群体大。在这种情况下,单体应用的弊端就展现出来了,在版本迭代的处理上很麻烦,扩展不够灵活,应对外界环境的能力弱。所以微服务思想就应运而生了。

   3.什么是微服务

       就是将单体服务拆分成一组小型服务。拆分完成之后,每个小型服务都运行在独立的进程中。服务与服务之间采用轻量级的通信机制来进行沟通(Spring Cloud 中是基于Http的RESTful API)

       每一个服务都按照具体的业务进行构建,如电商系统中,订单服务,会员服务,支付服务,等。这些拆分出来的服务都是独立的应用服务,可以独立的部署到上产环境中。相互之间不会受影响。所以一个微服务项目就可以根据业务场景的不同,使用不同的语言(java,c++,PHP,go,pytton等)进行开发。这在单体类项目中是无法实现的。

     4.微服务的优势

(1.复杂度可控,

(2.独立部署

(3.技术选型灵活

(4.较好的容错性

(4.较强的可扩展性

     5.Spring Cloud是什么?

宏观上:

       Spring Cloud是基于微服务这种架构思想的一个具体的实现。同时结合了Spring Boot,提供了一键启动和部署的能力。极大地简化了微服务架构的实现。

        Spring Cloud在设计之初,就考虑到了分布式架构演化所需要的功能。如服务注册,消息总线,负载均衡等,这些功能都是可插拔的,非常灵活,在分布式系统的不断演化中,Spring Cloud也在不断地进化。

微观上:

       是什么: Spring Cloud是一系类框架的组合,各个框架之间相互协作,共同构建分布式系统。

        特性:.服务注册和发现,负载均衡,服务之间的调用,容错,服务降级,断路器,消息总线,,分布式配置中心,链路器。

      6.SpringCloud体系?

包含的组件:

----Spring Cloud Netflix,通过Eureka Server实现服务注册中心,通过Ribbon实现软负载均衡,,

-----Spring Cloud Config,分布式配置中心,利用Git来集管理项目的配置文件,,

-----Spring Cloud Consul,服务注册发现,,

----Spring Cloud Bus,消息总线,可以构建消息驱动的微服务,也可以用来做状态管理,,,,

-----S Spring  Cloud Cloudfoundry,利用Cloudfoundry集成我们的应用程序,,,

-----Spring Cloud OpenFeign,提供OpenFeign集成到Spring Boot应用中 的方式,主要解决微服务之间的调用问题。

----Spring Cloud Gateway ,提供网关服务。

 ----Spring Cloud Security,在Zuul代理中,为Oath2客户端供认证,,,

-----Spring Cloud Stream,基于Redis,RabbitMQ,Kafka实现消息服务。

-----Spring Cloud AWS ,快速集成亚马逊云服务。

-----Spring Cloud Contract,一个消息驱动,面向java的契约框架。

-----Spring Cloud Flow,在一结构化的的平台上,组成微服务

。。。。。。。。。。。

 

 

 

 

 

 

 

       

 

推荐阅读