当前位置: 首页 > news >正文

朝阳商城网站建设中小企业网站开发

朝阳商城网站建设,中小企业网站开发,电子商务网站服务器,响应式网站建设机构Spring Cloud服务发现与注册的原理与实现 一、简介1 服务发现的定义2 服务发现的意义 二、Spring Cloud服务注册与发现的实现1 Spring Cloud服务注册1.1 服务注册的基本框架1.2 服务注册的实现方式 2 Spring Cloud服务发现2.1 服务发现的基本框架2.2 服务发现的实现方式 三、Sp… Spring Cloud服务发现与注册的原理与实现 一、简介1 服务发现的定义2 服务发现的意义 二、Spring Cloud服务注册与发现的实现1 Spring Cloud服务注册1.1 服务注册的基本框架1.2 服务注册的实现方式 2 Spring Cloud服务发现2.1 服务发现的基本框架2.2 服务发现的实现方式 三、Spring Cloud服务注册与发现的原理3.1 Eureka的原理3.1.1 Eureka的基本概念3.1.2 Eureka的工作原理注册中心服务实例 3.2 Zookeeper的原理3.2.1 Zookeeper的基本概念数据模型会话 3.2.2 Zookeeper的工作原理 3.3 Consul的原理3.3.1 Consul的基本概念服务发现健康检查 3.3.2 Consul的工作原理 四、Spring Cloud服务注册与发现的应用场景4.1 微服务架构中的应用场景4.2 服务治理与负载均衡的应用场景4.3 分布式集群中的应用场景 一、简介 1 服务发现的定义 服务发现是指在一个分布式系统中服务提供者将自己注册到系统中心并且服务消费者可以从系统中心查询所有可用的服务的过程。 2 服务发现的意义 通过服务发现服务消费者可以方便地获取可用的服务实例而无需了解服务实例的具体位置和部署情况。同时服务提供者也可以方便地将自己的服务注册到系统中心让使用方更容易地找到服务。 二、Spring Cloud服务注册与发现的实现 1 Spring Cloud服务注册 1.1 服务注册的基本框架 服务注册的基本框架包括三部分服务提供者、服务注册中心和服务消费者。其中服务提供者将自己注册到服务注册中心服务消费者从服务注册中心获取可用的服务列表。 1.2 服务注册的实现方式 Spring Cloud提供了几种服务注册的实现方式包括 EurekaNetflix公司开源的、最为流行的一种服务注册中心Consul由Hashicorp公司开发的一种服务发现组件支持多数据中心ZooKeeper由Apache项目开发的一种分布式协调框架。 这里以Eureka为例介绍Spring Cloud服务注册的实现方式。 首先需要在pom.xml文件中添加以下依赖 dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-server/artifactId /dependency接着在启动类中加上EnableEurekaServer注解表明该服务作为Eureka Server运行 SpringBootApplication EnableEurekaServer public class EurekaServerApplication {public static void main(String[] args) {SpringApplication.run(EurekaServerApplication.class, args);} }在配置文件application.yml中指定服务端口、Eureka相关配置 server:port: 8761eureka:instance:hostname: localhostclient:register-with-eureka: falsefetch-registry: false至此Eureka Server配置完成。 2 Spring Cloud服务发现 2.1 服务发现的基本框架 服务发现的基本框架也包括三部分服务提供者、服务注册中心和服务消费者。其中服务提供者将自己注册到服务注册中心服务消费者从服务注册中心获取可用的服务列表。 2.2 服务发现的实现方式 同样以Eureka为例介绍Spring Cloud服务发现的实现方式。 服务提供者需要在pom.xml文件中添加以下依赖 dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-client/artifactId /dependency在启动类中加上EnableDiscoveryClient注解表明该服务需要作为Eureka Client运行并向Eureka Server注册 SpringBootApplication EnableDiscoveryClient public class DemoServiceApplication {public static void main(String[] args) {SpringApplication.run(DemoServiceApplication.class, args);} }同时在配置文件application.yml中指定应用名称、Eureka相关配置 spring:application:name: demp-serviceeureka:client:service-url:defaultZone: http://localhost:8761/eureka/至此服务提供者的配置完成。 服务消费者需要在pom.xml文件中添加以下依赖 dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-client/artifactId /dependency在需要调用服务的地方使用LoadBalanced注解让RestTemplate具有负载均衡的能力 Bean LoadBalanced public RestTemplate restTemplate() {return new RestTemplate(); }同时在配置文件application.yml中指定应用名称、Eureka相关配置 spring:application:name: demp-service-consumereureka:client:service-url:defaultZone: http://localhost:8761/eureka/至此服务消费者的配置完成。 通过以上配置Spring Cloud可以实现服务注册和发现的功能。 三、Spring Cloud服务注册与发现的原理 3.1 Eureka的原理 3.1.1 Eureka的基本概念 注册中心 Eureka server是Spring Cloud的核心组件之一它提供了服务注册和发现的功能。即服务提供者将自己的服务注册到Eureka Server服务消费者从Eureka Server中查找所需的服务并进行调用。 服务实例 服务实例是指暴露出来的某个服务可以是普通的Java服务、也可以是Web Service服务等。 3.1.2 Eureka的工作原理 注册中心 注册中心是一个基于REST的服务主要实现服务注册、服务续约、服务下线以及查询功能。Eureka Server接收服务实例的注册请求并将服务实例信息存储在内存中HashMap。当Eureka Server收到服务实例的续约请求时会更新服务实例在内存中的信息避免服务实例过期失效。也可以通过URL获取注册中心中所有可用的服务。 服务实例 服务实例启动后会向Eureka Server发送注册请求告知Eureka Server自己的地址ip:port、服务名、健康状态以及一些元数据。同时服务实例会以心跳的方式向Eureka Server发送服务续约请求在规定时间内没有接收到续约请求则视为服务实例失效。 3.2 Zookeeper的原理 3.2.1 Zookeeper的基本概念 Zookeeper是一个分布式协调服务主要应用于高可用场景下的协调任务。Zookeeper提供了数据地址、配置管理、同步等功能。 数据模型 Zookeeper所有的数据都保存在一个树形结构中每个节点称为一个Znode。每个Znode都有名称和数据两个部分组成。数据通常是空字符串但是也可以存储数据。 会话 不同的客户端需要连接到Zookeeper集群进行交互这些客户端与Zookeeper服务器建立会话。Zookeeper会话与传统应用服务器会话的概念类似但具有独特的特征如一些会话变量和超时机制。 3.2.2 Zookeeper的工作原理 Zookeeper集群中的各个节点通过Zab协议来实现数据一致性。集群中的一个Zookeeper节点被选举为leader所有其它follower节点负责数据复制。当leader节点失效时follower中的某一个节点会被选举为新的leader。 3.3 Consul的原理 3.3.1 Consul的基本概念 Consul是一个分布式的高可用服务发现和配置管理系统。它提供了服务发现、健康检查、KV存储、安全服务等功能。 服务发现 Consul基于HTTP提供服务发现。服务消费者可以使用HTTP协议从Consul服务端获取服务提供者的地址和端口号。 健康检查 Consul通过健康检查确定哪些服务实例对外提供服务。Consul同时支持TCP、HTTP和Docker容器的健康检查方式。 3.3.2 Consul的工作原理 Consul集群实际上就是多个有状态的服务器管理和协调数据。这些节点中的一个被选为leader所有其它follower节点负责数据复制。 四、Spring Cloud服务注册与发现的应用场景 4.1 微服务架构中的应用场景 在微服务架构中服务之间可能会随时发生变化例如某个服务重启、一台机器下线等因此服务访问地址的获取需要具备高度灵活性和实时性。服务注册中心的出现就是为了解决这个问题它可以自动进行服务注册和服务发现大大提高了系统的可扩展性和可维护性。 4.2 服务治理与负载均衡的应用场景 服务金丝雀发布、分阶段上线、AB测试等操作都离不开服务治理而服务治理又需要服务注册中心来协同实现。在这些高级应用场景中服务注册中心还可以和负载均衡器等组件配合提供更加全面的服务治理和负载均衡功能。 4.3 分布式集群中的应用场景 在分布式系统中节点数量大、拓扑图复杂因此需要一个中心化的配置管理中心。服务注册中心可以实现系统配置的自动管理和更新同时由于各个服务的名称是由它们自己注册到注册中心上的因此它能够帮助开发人员快速获得系统内部服务之间的依赖关系。
http://www.tj-hxxt.cn/news/137133.html

相关文章:

  • 2008发布asp网站国外网站要备案吗
  • 苏州网站排名方案网上购物管理系统设计与实现
  • 建站网站源码购物网站开发设计文档
  • vps正常网站打不开网站建设猪八戒
  • 网站开发公司人员配置西安网站建设制作需要哪些费用
  • 网站优化培训班东莞如何制作免费的网页
  • 红色基调网站曲阜人网站
  • 网站建设的步骤过程pptwordpress中文房产主题
  • 网站访问大小做网站必备软件
  • 建设 展示型企业网站国示范校建设网站
  • 快速增加网站权重app设计方案计划书
  • 建设英文网站的请示公司网站建设怎么选择主机大小
  • 创意网站建设设计公司wordpress备份和恢复
  • 现在做一个网站系统多少钱网站顶部下拉广告代码
  • 寻找网站建设员wordpress tdk修改
  • 东阳网站建设哪家好修改不能编辑的wordpress
  • 北京网站优化专家《动画造型设计》
  • 可以做微信公众号封面的网站百度极速版下载安装最新版
  • js写的网站怎么做seo试题wordpress的特点
  • 网站 图片 自动往右移南京网页效果图设计接单
  • asp mysql做网站企业查查网官网
  • 公司线上推广seo双标题软件
  • 深圳品牌网站设计格检测WordPress主题的网站
  • 成品网站管理系统怎么用二维动画做网站首页步骤
  • 有哪些公司的网站做的比较好wordpress用户角色权限管理
  • 株洲建设工程造价信息网站wordpress 鼠标翻页
  • 衡阳百度网站建设wordpress网站访问量
  • 效果好的网站制作东莞十大公司排名
  • thinkphp企业网站源码深圳石岩小学网站建设
  • 企业英文网站建设的重要性网站和手机网站