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

网站开发公司上海他达拉非哪个牌子好

网站开发公司上海,他达拉非哪个牌子好,网页设计费用一般收多少合适,企业查查官网入口官网✅作者简介:大家好,我是 Meteors., 向往着更加简洁高效的代码写法与编程方式,持续分享Java技术内容。 🍎个人主页:Meteors.的博客 💞当前专栏: 微服务 ✨特色专栏: 知识分享 &#x…

✅作者简介:大家好,我是 Meteors., 向往着更加简洁高效的代码写法与编程方式,持续分享Java技术内容。
🍎个人主页:Meteors.的博客
💞当前专栏: 微服务
✨特色专栏: 知识分享
🥭本文内容:【1.4】Java微服务:服务注册和调用(Eureka+Ribbon)
📚 ** ps **  : 阅读这篇文章如果有问题或者疑惑,欢迎各位在评论区提问或指出!


-----------------------------------------------------       目录       ----------------------------------------------------------

 

目录

一、介绍

1. 问题

2.关于Eureka的介绍

介绍:

组成:

3. 关于Ribbon的介绍

介绍

常见的Ribbon负载均衡策略

二、相关代码的实现

1. 搭建Eureka服务

1) 导入依赖

 2)在主函数内开启Eureka注解​编辑

3)编写yml文件

 4)进入服务中心

 5)页面说明

 2. Eureka服务注册

1)导入服务端依赖

2)在yml文件中,添加配置

3)添加多个服务

4)简单的使用

 3.Ribbon的使用


-------------------------------------------------------------------------------------------------------------------------------- 

一、介绍

1. 问题

在介绍Eureka与Ribbon实现服务注册和调用功能之前,我们需要先回答一些问题:

1)微服务的远程调用,在使用注册中心之前,是怎么实现的?

一种比较多的方式是通过HTTP请求实现,像前端一样访问另一个服务的接口。

而具体的实现方式,像通过通过SpringBoot框架内的RestTemplate组件,发送HTTP请求到其他接口,实现代码如下:

    @Autowiredprivate RestTemplate restTemplate;public Order queryOrderById(Long orderId) {// 1.查询订单Order order = orderMapper.findById(orderId);// 2.利用RestTemplate发起http请求,查询用户// 2.1.url路径String url = "http://localhost:8081/user/" + order.getUserId();// 2.2.发送http请求,实现远程调用User user = restTemplate.getForObject(url, User.class);// 3.封装user到Orderorder.setUser(user);// 4.返回return order;}

j结果截图:

2)使用restTemplate的方式进行微服务的远程调用,会哪些缺点?

  1. 首先,使用restTemplate不能解决许多微服务的许多问题。如服务的管理,服务调用的的负载均衡实现、发生故障或下线的即时处理

2.关于Eureka的介绍

介绍:

  • Eureka是Netflix开源的一个用于服务发现和注册中心的组件。它是基于RESTful风格的微服务框架,主要用于在分布式系统中管理和监控服务实例的状态。
  • 服务管理:Eureka允许服务在启动时向注册中心注册自己的信息,并周期性地发送心跳来更新状态。
  • 其他服务可以通过查询注册中心来获取可用服务的信息,以实现服务的调用和负载均衡。

组成:

  • EurekaServe:服务端,注册中心
    • 记录服务信息
    • 心跳监控
  • EurekaClient:客户端
    • Provider:服务提供这,例如案例中的user-service
      • 注册自己的信息到EurekaServe
      • 每隔20秒向EurekaServer发送心跳请求
    • consumer:服务消费者,例如案例中的order-server
      • 根据服务名称从EureksServer拉取服务列表
      • 基于服务列表做负载均衡,选中一个微服务后发起远程调用

3. 关于Ribbon的介绍

介绍

  • Ribbon 是SpringCloud的其中一个组件,用于实现客户端负载均衡。它提供了负载均衡、故障转移和重试等功能,可以与服务注册中心(如 Eureka)集成使用。
  • 通过使用 Ribbon,可以实现负载均衡的客户端,使服务消费者能够可靠高效的访问多个服务提供者
  • Ribbon 提供了各种负载均衡策略,如轮询、随机、加权随机等,开发者可以根据需求选择合适的策略。

常见的Ribbon负载均衡策略

  1. RoundRobinRule:简单轮询服务列表来选择服务器。它是Ribbon默认的负载均衡策略。
  2. AvailabilityFilteringRule:对两种服务器进行忽略:
    1. 在默认情况下。这台服务器如果3次连接失败,这台服务器就会被设置为“短路”状态。短路状态持续20秒,如果再次连接失败,短路的持续时间就会几何级地增加。
    2. 并发数过高的服务器。如果一个服务器的并发连接数过高,配置了AvailabilityFilteringRule规则的客户端也会将其忽略。并发连接数上限,可以由客户端的<clientName><clientConfigNameSpace>.ActiveConnectionsLimit属性进行设置。
  3. WeightedResponseTimeRule:为每一个服务器赋予一个权重值。服务器响应时间越长,这个服务器的权重就越小。这个规则会随机选择服务器,这个权重值会影响服务器的选择。
  4. ZoneAvoidanceRule:以区域可用的服务器的选择。使用Zone对服务器进行分类,这个Zone可以理解为一个机房、一个机架等。而后再对Zone内多个服务做轮询。
  5. BestAvailableRule:忽略哪些短路的服务器,并选择并发数较低的服务器。
  6. RandomRule:随机选择一个可用的服务器。
  7. RetryRule:重试机制的选择逻辑

二、相关代码的实现

1. 搭建Eureka服务

1) 导入依赖

        <!--eureka服务端--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency>

 2)在主函数内开启Eureka注解

3)编写yml文件

server:port: 10086 # 服务端口
spring:application:name: eurekaserver # eureka的服务名称
eureka:client:service-url:  # eureka的地址信息defaultZone: http://127.0.0.1:10086/eureka

 4)进入服务中心

 5)页面说明

 2. Eureka服务注册

1)导入服务端依赖

在服务模块(如userServiece)的pom文件中导入:

        <!--eureka客户端依赖--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency>

2)在yml文件中,添加配置

userService的配置文件中: 

 orderService的配置文件中:

3)添加多个服务

 =

4)简单的使用

 3.Ribbon的使用

在服务中自定义负载均衡注解:

 最后,

后续文章会陆续更新,希望文章对你有所帮助..!

参考文献:

Spring CloudLevel up your Java code and explore what Spring can do for you.https://spring.io/projects/spring-cloud/

09-Eureka-搭建eureka服务_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1LQ4y127n4?p=11&spm_id_from=pageDriver&vd_source=d0dc59eeb02e4e4b81ee32c868da3cfe

http://www.yayakq.cn/news/517725/

相关文章:

  • 商学院网站建设建议舆情监测系统永久免费
  • 商丘网站设计商业性质网站建设步骤
  • 网站建设项目方案模板链接翻译wordpress
  • 晋江网站设计公司小网站怎么做
  • 江西做网站多少钱沧浪网站建设方案
  • 帮别人做网站被抓百度分享代码 wordpress
  • 一个网站交互怎么做的网站seo搜索引擎的原理是什么
  • 一级a做网站免费怎样构建网站
  • 有哪些可以做任务的网站营销排名seo
  • 哪里可以做营销型网站为什么浙江建设厅网站
  • 保山公司做网站网站实施要求
  • 社区网站如何做织梦做的网站如何去掉index
  • 帮别人做钓鱼网站犯法吗爱奇艺网站建设费
  • 安徽省住房建设厅网站邢台网约车平台有哪些
  • 哪里有免费的网站推广好看的网站博客模板下载
  • 建设网站兼职云南网站制作怎么计费
  • 优秀网站有哪些网站建设相关法律规定
  • 大学学术建设专题网站wordpress 建设中
  • 博客类网站建设服务器做网站FTP必要性大吗
  • 商务网站建设规划心得用python做网站
  • 网站开发报价说明山东响应式网站
  • 宁波海曙网站开发公司电话如何改进网站服务建设和管理
  • 做点击率的网站龙岗网站改版
  • 连州市网站建设网络技术有限公司是干啥的
  • 佛山外贸网站设计做网站接私单
  • 查找南宁网站开发公司ueditor for wordpress
  • 网站轮播图片特效深圳网页设计制作网站
  • 方案网站有哪些盐城市城乡建设门户网站
  • 长沙做网站一般多少钱房产网app
  • 色彩设计网站wordpress15天教