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

网站建设亿玛酷知名疫情优化调整

网站建设亿玛酷知名,疫情优化调整,wordpress搬迁,免费网络电话呼叫系统Eureka作为一个老牌经典的服务注册&发现技术,其设计和理念,也在影响后面的组件。目前主流的服务注册&发现的组件是Nacos当前项目架构问题分析-引出Eureka问题分析:1.在企业级项目中,服务消费访问请求会存在高并发2.如果只…

Eureka作为一个老牌经典的服务注册&发现技术,其设计和理念,也在影响后面的组件。目前主流的服务注册&发现的组件是Nacos

当前项目架构问题分析-引出Eureka

问题分析:

1.在企业级项目中,服务消费访问请求会存在高并发

2.如果只有一个会议中心-提供服务,可用性差

3.所以,会议中心提供服务往往是一个集群,也就是说会有多个会议中心-提供服务微服务模块

4.那么这个时候,就存在一个问题就是服务消费方,怎么去发现可以使用的服务

5.当服务消费方,发现了可以使用的服务后(可能是多个,又存在一个问题就是到底调用A服务,还是B服务的问题,这就引出了服务注册和负载均衡)

6.Eureka就可以解决上述问题

Eureka的使用

1.会员中心-提供服务的,在项目中,会做成集群,提供高可用

2.Eureka Server有必要的话,也可以做成集群

3.Eureka包含两个组件:reka Server和Eureka Client

4.Eureka Server提供注册服务,各个微服务节点通过配置启动后,会在EurekaServer中进行注册,这样EurekaServer中的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观看到。

5.EurekaClient通过注册中心进行访问,是一个Java客户端,用于简化Eureka Server的交互,客户端同时也具备一个内置的、使用轮询(roud-robin)负载算法的负载均衡器。在应用启动后,将会向Eureka Server发送心跳(默认周期为30秒)。如果Eureka Server在多个心跳周期内没有接收到某个节点的心跳,EurekaServer将会从服务注册表中把这个服务节点移除(默认90秒)

RPC: remote procedure call 远程(程序/过程)调用

服务注册与发现

Eureka采用了cS[client-server-java基础我们讲过一个多人聊天项目]的设计架构,Eureka Server作为服务注册功能的服务器,它是服务注册中心。

系统中的其他微服务,使用Eureka的客户端连接到Eureka Server并维持心跳连接,通过Eureka Server来监控系统中各个微服务是否正常运行。

在服务注册与发现中,有一个注册中心。当服务器启动的时候,会把当前自己服务器的信息比如服务地址通讯地址等以别名方式注册到注册中心上。

服务消费者或者服务提供者,以服务别名的方式去注册中心上获取到实际的服务提供者通讯地址,然后通过RPC调用服务


创建单机Eureka Server-注册中心

创建e-commerce-eureka-server-9001微服务模块【作为注册中心】

常规方式创建

修改e-commerce-eureka-server-9001的pom.xml,加入依赖

<dependencies><!--引入eureka-server场景启动器starter--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency><!--使用版本仲裁.一个web服务,监听端口--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--说明:starter-actuator是springboot程序的监控系统,可实现系统的健康检测可以通过http://localhost:9001/actuator看到相关的连接和信息--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId></dependency><dependency><groupId>com.stein.springcloud</groupId><artifactId>e-commerce-center-common-api</artifactId><version>${project.version}</version></dependency></dependencies>

创建resources/application.yml

配置Eureka

注意这儿的defaultZone,之前漏写了。

server:port: 9001
eureka:instance:hostname: localhostclient:#不向注册中心注册自己register-with-eureka: false#表示自己就是注册中心,作用就是维护注册服务实例,不需要去检索服务fetch-registry: falseservice-url:#设置与eureka server交互的模块,查询服务和注册服务都要依赖这个地址#静态写法:http://localhost:9001/eureka/  下面改成了动态写法,更灵活defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

创建主启动类com/hspedu/springcloud/EurekaApplication.java

注意使用该注解@EnableEurekaServer。启动后在浏览器输入localhost:9001即可查看页面

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

将member-service-provider-10000作为EurekaClient注册到e-commerce-eureka-server-9001成为服务提供者

1修改member-service-provider-10000的pom.xml

添加pom依赖

        <!--引入Eureka-client 的starter,注意starter不要写漏了,很难排查:使用版本仲裁--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency>

2修改member-service-provider-10000的resources/application.yml

  • 新增到application.yml

eureka:client:register-with-eureka: true #将自己注册到eureka-server。默认turefetch-registry: true #从eureka-server抓取注册信息。便于集群配合Ribbon使用负载均衡。默认tureservice-url:#表示将自己注册到哪个eureka-serverdefaultZone: http://localhost:9001/eureka
#  instance:
#    hostname:这儿是client端,不需要使用别名

3修改member-service-provider-10000的com/hspedu/springcloud/MemberApplication.java

  • 添加注解@EnableEurekaClient。(注意区分Server端和Client端)

4完成测试

启动e-commerce-eureka-server-9001

启动member-service-provider-10000

查看浏览器:http://localhost:9001

微服务注册名配置说明:在yml中配置的(已经配置过了)

spring:application:name: member-service-provider-10000 #配置应用的名称。可以自定义,这儿保持一致了

配置member-service-consumer-80作为EurekaClient可以拉取/获取e-commerce-eureka-server-9001提供的服务信息

1修改pom.xml

        <!--引入eureka-client--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency>

2修改application.yml

  • 本次测试省略了 register-with-eureka/fetch-registry。因为默认值是true,依然正常。

  • 很容易理解,毕竟client>service的数量,所以默认设置client的配置比较节省代码。

eureka:client:service-url:defaultZone: http://localhost:9001/eureka

3修改MemberConsumerApplication.jave

  • 添加注解@EnableEurekaClient。(注意区分Server端和Client端)

4完成测试

启动e-commerce-eureka-server-9001

启动member-service-consumer-80

查看浏览器:http://localhost:9001。又多了一项


Eureka自我保护模式

通常为了健壮性,都不会禁用该模式。以下配置仅供参考,不常使用。

  • 在服务端application.yml设置

eureka:server: #禁用自我保护模式enable-self-preservation: false
  • 客户端application.yml设置

eureka:instance:#客户端向服务端发送心跳的时间间隔1s(默认是30s)lease-renewal-interval-in-seconds: 1#服务端最后一次收到心跳后的等待时间,超过将剔除服务(默认是90s)lease-expiration-duration-in-seconds: 2

测试:

启动server

启动provider

在server可以查看到provider

然后停止provider

2s后即可发现server里面已不显示该provider

http://www.ahscrl.com/news/12513.html

相关文章:

  • 建设和交通局网站企业高管培训课程有哪些
  • wordpress带前端下载阿亮seo技术顾问
  • 艾睿网站建设重庆百度推广关键词优化
  • anker 网站谁做的青岛网站seo分析
  • 廊坊网站推广推广app赚钱的平台
  • ps制作个人网站线上营销培训
  • 北京网站建设咨询公司网站分析
  • 网站建设资讯seo每日
  • 模块式网站制作厦门网站关键词推广
  • 网站后台添加文章后怎么不显示网络推广经验
  • logo生成网站排名优化教程
  • 做农资的网站推广app拿返佣的平台
  • 成都市最新疫情最新消息西安seo排名优化推广价格
  • 做外贸必看的网站和论坛有哪些百度搜索入口网址
  • 价格网如何查产品价格沧州seo公司
  • 网站建设情况说明总结营销型企业网站建设步骤
  • 同城做推广哪个网站好seo是干什么的
  • 青海网站建设公司哪家好友链购买
  • 北京网站制作百度推广比较好用的搜索引擎
  • 做网站设计图用什么软件nba最新消息新闻报道
  • 重庆建网站的公司集中在哪里免费域名
  • 网上商城的意义独立站seo是什么
  • 旅游做哪个网站好百度论坛首页
  • 海珠建网站公司数据分析报告
  • 早那么做商城网站短视频平台推广方案
  • 网站做以后怎么修改网站内容seo排名优化seo
  • wordpress不显示某个栏目百度搜索排行seo
  • 用java做网站代码百度推广非企代理
  • 深圳外贸商城网站建设网站搭建一般要多少钱
  • 满城区城乡建设局网站学开网店哪个培训机构好正规