微服务框架springcloud

1.纵向拆分的独立系统的集群的问题1.1没有引入管理的功能系统的管理,授权,监听,熔断等逻辑都没有引入1.2静态配置的负载均衡的强耦合在庞大的纵向拆分的集群中,nginx的静态文件维护负载均衡逻辑,容易出现强耦合:例如:集群中某些节点出现宕机/迁移可以引入微服务的概念,从架构角度去解决问题2.微服务框架2.1微服务从一个单体项目,从一个功能比较集中的项目中纵向拆分出来独立运行的功能,每个功能的系统–微服务微:纵向拆分服务:功能被调用2.2微服务框架一个框架技术能够管理大量的拆分的独
摘要由CSDN通过智能技术生成

1.纵向拆分的独立系统的集群的问题
1.1没有引入管理的功能
系统的管理,授权,监听,熔断等逻辑都没有引入
1.2静态配置的负载均衡的强耦合
在庞大的纵向拆分的集群中,nginx的静态文件维护负载均衡逻辑,容易出现强耦合:
例如:集群中某些节点出现宕机/迁移
可以引入微服务的概念,从架构角度去解决问题

2.微服务框架
2.1微服务
从一个单体项目,从一个功能比较集中的项目中纵向拆分出来独立运行的功能,每个功能的系统–微服务

微:纵向拆分
服务:功能被调用
2.2微服务框架
一个框架技术能够管理大量的拆分的独立系统,监控,熔断等功能,这种框架技术–微服务框架
2.3spring cloud
轻量级的微服务框架,可以基于springboot的自动配置(减少了自定义的大量代码编写)实现了多个微服务框架的组件功能

eureka :服务治理
ribbon :客户端负载均衡调用
zuul:网关,微服务唯一对外提供的接口
feign:ribbon是同一种客户端,封装了ribbon
hystrix:熔断器
config:微服务中配置文件的管理者

1.Eureka服务治理组件
springcloud中的核心组件,可以实现对整个微服务集群所有节点进行服务的发现,服务的抓取和服务监听功能
1.1服务治理的概念中的三个角色
○ 服务注册中心:所有的服务的集中管理角色
服务的提供者:服务提供者会将自己的信息打包(ip,port,服务名称等等),注册在注册中被注册中心管理和维护(注册)
服务的调用者: 可以通过对注册中心的访问,获取服务提供者的信息,从而进行负载均衡的调用(抓取发现)

1.2入门案例服务注册中心
○ 准备一个springboot+springcloud开发环境的工程
§ pom:继承springboot-parent

		<parent>
		  	<groupId>org.springframework.boot</groupId>
		  	<artifactId>spring-boot-starter-parent</artifactId>
		  	<version>1.5.9.RELEASE</version>
		</parent>

§ dependencyManagement:导入springcloud的所有依赖

		<dependencyManagement>
			<dependencies>
				<dependency>
					<groupId>org.springframework.cloud</groupId>
					<artifactId>spring-cloud-dependencies</artifactId>
					<version>${spring-cloud.version}</version>
					<type>pom</type>
					<scope>import</scope>
				</dependency>
			</dependencies>
	  </dependencyManagement>

§ 引入eureka注册中心的依赖

	<dependency>
	    	<groupId>org.springframework.cloud</groupId>
	    	<artifactId>spring-cloud-starter-eureka-server</artifactId>
	    </dependency>

○ application.properties
server.port=8888
#eureka相关配置
##关闭当前配置中心的服务抓取和注册
#如果自己到自己注册,需要提供服务名称
spring.application.name=eurekaserver
eureka.client.registerWithEureka=true
eureka.client.fetchRegistry=false
#注册中心的地址,但凡是服务提注册者都需要配置这个地址
#注册者会访问这个地址的接口,携带自己节点的信息注册
eureka.client.serviceUrl.defaultZone=http://localhost:8888/eureka

○ 启动类
§ 添加一个eureka的注解,就能实现启动加载eureka的自动配置逻辑,实现一个web应用中包含一个eurekaserver的进程
@SpringBootApplication
//eureka注册中心进程启动时需要springboot加载扫描的注解

		@EnableEurekaServer
		public class StarterEurekaServer {
			public static void main(String[] args) {
				SpringApplication.run(StarterEurekaServer.class, args);
		}}

○ web页面
http://localhost:8888/
在这里插入图片描述
上图显示的内容,就是当前注册中心维护的所有服务信息 展示的服务名称,服务实例名称,(服务的详细信息内存中维护的)
○ 注册中心的作用
§ 管理注册者的服务信息:

内部接收注册者的请求,注册者携带本机/节点的详细参数(ip,port,服务名称) 发送给注册中心,/eureka 接收请求,在内存中存储一个双层map对象 保存所有的内容
在这里插入图片描述
§ 服务的监听超时:
多个注册者同时注册一个服务,相当于一个具体的服务被一个集群管理接收请求,每60秒钟判断是否有服务提供者的续约超时达到90秒,一旦满足条件,将会从内存中间超时的实例剔除

○ 注册者实现的逻辑
注册:启动后,当前eureka client一旦赋予注册能力reg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值