微服务简介
简单来说,微服务就是一种思想。
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,在一结构化的的平台上,组成微服务
。。。。。。。。。。。