微服务java b2b商城系统_java商城源码100%开源适合2次开发-服务治理实现原理

Spring Cloud 学习 – 服务治理实现原理 须要JAVA Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码:壹零叁八柒柒肆六二六html

如图为eureka的结构图,其中包括三个部分,服务注册中心(Eureka Server),服务提供者(Eureka Client),服务消费者(Eureka Client) Eureka Server -1 和Eureka Server -2 组成了高可用集群,任何一个client注册其中的一个Server,都会根据配置的时间同步到另外一个Server. 服务注册中心(Eureka Server)

做为一个注册中心,每一个微服务(Client)在启动后将会把本身的主机,端口号,通讯协议等信息发送给注册中心进行注册,注册中心会存储微服务的ip地址、端口等信息。java

服务消费者能够从服务发现组件查询服务提供者的网络地址,并使用该地址调用服务提供.者的接口.spring

各位服务与服务组件使用统一的心跳机制,若是服务发现组件长时间没法与某微服务实例通讯,就会被注销。网络

微服务网络地址发生变动时,会从新注册到服务发现组件,避免人工修改提供者的网络地址。mybatis

服务发现组件核心功能:mvc

服务注册表:记录微服务信息的服务的名称、ip、端口等,服务注册表查询API和管理API。分布式

服务注册与服务发现:服务注册是微服务启动时,件本身的信息注册到服务发现组件上的过程。服务发现是指查询可用微服务列表及其网络地址的机制。微服务

服务检查:服务发现组件使用过必定机制定时检测已注册的服务。学习

服务同步:当多个注册中心Server组成集群的时候,若是其中一个注册中心注册了一个Client,那么这个Client就会自动同步到其余集群中的Server.spa

服务提供者(Eureka Client)

启动的时候经过REST请求将本身注册到Eureka Server 上,同时带上自身服务的元数据信息。经过eureka:

instance:metadata-map: 进行设置。其余的消费者就能够从Server获取。eureka: client:

register-with-eureka参数控制本身是否可以被注册默认为true.

在注册完成后,服务提供者会维护一个心跳(发送通讯包)来持续告诉Server是否存活,若是超过必定时间没有心跳,那么就会被Server判断该Cliebt失效,将其状态设置为“DOWN”,并将其从服务列表中去除。

服务消费者(Eureka Client)

启动服务消费者后,按期发送REST请求去获取服务列表。

获取到服务列表后,经过服务名能够得到具体提供服务的实例名和该实例的元数据信息。

消费者能够经过Ribbon或者Feign来使用服务提供者。

服务提供者和服务消费者从配置上没有区别,只是可能须要配置metadata元数据信息来提供给消费者。二者只有行为上的区别,一个提供服务(低层的业务),一个消费服务(高层的业务,经过http请求去请求调用提供者中的相关方法)。

Regin和Zone

region:能够简单理解为地理上的分区,好比亚洲地区,或者华北地区,再或者北京等等,没有具体大小的限制。根据项目具体的状况,能够自行合理划分region。

zone:能够简单理解为region内的具体机房,好比说region划分为北京,而后北京有两个机房,就能够在此region之下划分出zone1,zone2两个zone

一个region中能够有多个zone,每一个服务须要注册到一个zone中,因此每一个client对应一个regin和一个zone.在进行服务调用的时候,优先访问同一个zone中的服务提供方,若访问不到,再访问其余zone.不过这个能够参数控制,eureka.client.prefer-same-zone-eureka控制,默认为true,也就是优先找同一个zone中的。

@EnableDiscoveryClient和@EnableEurekaClient区别

SpringCLoud中的“Discovery Service”有多种实现,好比:eureka, consul, zookeeper。

1 @EnableDiscoveryClient注解是基于spring-cloud-commons依赖,而且在classpath中实现;

2 @EnableEurekaClient注解是基于spring-cloud-netflix依赖,只能为eureka做用;

java B2B2C 源码 多级分销springmvc mybatis多租户电子商城系统

相关文章
相关标签/搜索