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

六安网站定制智慧团建注册登记入口

六安网站定制,智慧团建注册登记入口,seo培训班 有用吗,搭建网站要什么显卡Spring Cloud系列断更了有一段时间了,这段时间最近都在忙着项目上的事,天天修复bug以及调整需求,反正各种操劳,了解业务需求,然后开发相关功能,很久都没碰Spring Cloud系列的相关文章了,最近回头…

Spring Cloud系列断更了有一段时间了,这段时间最近都在忙着项目上的事,天天修复bug以及调整需求,反正各种操劳,了解业务需求,然后开发相关功能,很久都没碰Spring Cloud系列的相关文章了,最近回头看看,发现Spring Cloud的Ribbon还没举例进行介绍,就光生成了一个注册中心服务罢了,今天就将这个坑填充一下。

说到Ribbon,我们应该了解到关于他的:

  • 负载均衡:Ribbon是一个客户端负载均衡器,它可以将客户端请求分发到多个服务实例上。一个常见的案例是在微服务架构中使用Ribbon来实现服务间的负载均衡。通过配置Ribbon的负载均衡策略,可以根据不同的需求选择合适的负载均衡算法。

  • 服务发现:Ribbon可以与服务注册中心(如Eureka)集成,实现服务的自动发现和注册。通过与Eureka等服务注册中心配合使用,Ribbon可以动态地获取可用的服务实例列表,并根据负载均衡策略进行请求分发。

  • 自定义负载均衡策略:Ribbon提供了多种负载均衡策略,如轮询、随机、权重等。除了使用内置的负载均衡策略外,你还可以根据自己的需求实现自定义的负载均衡策略。例如,你可以根据服务实例的性能指标或其他因素来动态调整请求的分发策略。

  • 故障转移和容错:Ribbon还提供了故障转移和容错的功能。当某个服务实例不可用时,Ribbon可以自动将请求转发到其他可用的实例上,以提高系统的可用性和容错能力。

那么我们根据写一个案例:
还是利用我们的Spring Cloud系列之前搭建的框架
在这里插入图片描述
application.yml文件

server:port: 2381
spring:application:name: ribbon-demo# eureka客户端注册到Eureka注册中心,切记需要启动eureka服务
eureka:client:service-url:defaultZone: http://localhost:1000/eureka# ribbon
ribbon-demo:ribbon:listOfServers: https://ribbon-demo, https://feign-demo, http://ribbon-demo3

PS:注意,ribbon-demo是指的我们具体启动的相关服务,且这个服务需要注册到注册中心去,下边的https://ribbon-demo, https://feign-demo, http://ribbon-demo3分别代表不同的服务实例的URL地址。每个URL地址对应一个具体的服务实例,只是我这边简化了,全用Ribbon-demo代替了。

格式如下:

my-service:ribbon:listOfServers: http://service1, http://service2, http://service3

"my-service"是一个代表服务名称的占位符。实际上,"my-service"可以是微服务架构中的任何一个具体的服务名称。

在微服务架构中,通常会有多个独立的服务组成一个完整的应用。每个服务都有自己的功能和职责。为了实现服务间的通信和调用,每个服务都会注册一个唯一的服务名称。

"http://service1"、"http://service2"和"http://service3"是代表服务实例的URL地址。每个URL地址对应一个具体的服务实例。

在微服务架构中,一个服务通常会有多个实例运行在不同的主机或容器中,以提高系统的可用性和性能。这些服务实例可以是相同的代码部署在不同的服务器上,也可以是不同的服务副本。

为了实现负载均衡和容错,Ribbon需要知道可用的服务实例列表。这些URL地址可以是服务注册中心(如Eureka)中注册的服务实例的URL,也可以是手动配置的服务实例的URL。


接下来我们创建一个RibbonConfig作为我们的配置类:

@Configuration
public class RibbonConfig {@Bean@LoadBalancedpublic RestTemplate restTemplate() {return new RestTemplate();}
}

作为Ribbon客户端:在应用中创建Ribbon的客户端。可以使用@LoadBalanced注解来标记RestTemplateFeignClient,以启用Ribbon的负载均衡功能。


之后我们在控制类中发起请求

发起请求:使用Ribbon客户端发起请求。在代码中使用RestTemplate或FeignClient来发起HTTP请求,Ribbon会根据配置的负载均衡策略选择合适的服务实例。例如,使用RestTemplate的示例:

@RestController
public class MyController {@Autowiredprivate RestTemplate restTemplate;@GetMapping("/my-service")public String callMyService() {return restTemplate.getForObject("http://ribbon-demo/my-service", String.class);}
}

本案例仅仅作为展示,所以我就在这里调用自己了,实际情况这边会使用负载均衡,调用别的服务里边的方法,别学我,最好启动其他服务并配置好相关控制层,方便调用


启动类:

@SpringBootApplication
@EnableEurekaClient
public class RibbonApplication {public static void main(String[] args) {SpringApplication.run(RibbonApplication.class);}
}

直接启动就可以了。因为Ribbon是作为Spring Cloud Netflix的一部分,它会与Spring Boot应用程序一起自动启动。

在这里插入图片描述

前端访问:
localhost:2381/my-service
控制台输出日志如下:

2023-12-27 14:58:05.914  INFO 30188 --- [nio-2381-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2023-12-27 14:58:05.914  INFO 30188 --- [nio-2381-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2023-12-27 14:58:05.917  INFO 30188 --- [nio-2381-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 3 ms
2023-12-27 14:58:06.011  INFO 30188 --- [nio-2381-exec-1] c.netflix.config.ChainedDynamicProperty  : Flipping property: ribbon-demo.ribbon.ActiveConnectionsLimit to use NEXT property: niws.loadbalancer.availabilityFilteringRule.activeConnectionsLimit = 2147483647
2023-12-27 14:58:06.026  INFO 30188 --- [nio-2381-exec-1] c.n.u.concurrent.ShutdownEnabledTimer    : Shutdown hook installed for: NFLoadBalancer-PingTimer-ribbon-demo
2023-12-27 14:58:06.027  INFO 30188 --- [nio-2381-exec-1] c.netflix.loadbalancer.BaseLoadBalancer  : Client: ribbon-demo instantiated a LoadBalancer: DynamicServerListLoadBalancer:{NFLoadBalancer:name=ribbon-demo,current list of Servers=[],Load balancer stats=Zone stats: {},Server stats: []}ServerList:null
2023-12-27 14:58:06.030  INFO 30188 --- [nio-2381-exec-1] c.n.l.DynamicServerListLoadBalancer      : Using serverListUpdater PollingServerListUpdater
2023-12-27 14:58:06.043  INFO 30188 --- [nio-2381-exec-1] c.netflix.config.ChainedDynamicProperty  : Flipping property: ribbon-demo.ribbon.ActiveConnectionsLimit to use NEXT property: niws.loadbalancer.availabilityFilteringRule.activeConnectionsLimit = 2147483647
2023-12-27 14:58:06.044  INFO 30188 --- [nio-2381-exec-1] c.n.l.DynamicServerListLoadBalancer      : DynamicServerListLoadBalancer for client ribbon-demo initialized: DynamicServerListLoadBalancer:{NFLoadBalancer:name=ribbon-demo,current list of Servers=[本机名称:2381],Load balancer stats=Zone stats: {defaultzone=[Zone:defaultzone;	Instance count:1;	Active connections count: 0;	Circuit breaker tripped count: 0;	Active connections per server: 0.0;]
},Server stats: [[Server:本机名称:2381;	Zone:defaultZone;	Total Requests:0;	Successive connection failure:0;	Total blackout seconds:0;	Last connection made:Thu Jan 01 08:00:00 CST 1970;	First connection made: Thu Jan 01 08:00:00 CST 1970;	Active Connections:0;	total failure count in last (1000) msecs:0;	average resp time:0.0;	90 percentile resp time:0.0;	95 percentile resp time:0.0;	min resp time:0.0;	max resp time:0.0;	stddev resp time:0.0]
]}ServerList:org.springframework.cloud.netflix.ribbon.eureka.DomainExtractingServerList@6cbc0c75
2023-12-27 14:58:07.041  INFO 30188 --- [erListUpdater-0] c.netflix.config.ChainedDynamicProperty  : Flipping property: ribbon-demo.ribbon.ActiveConnectionsLimit to use NEXT property: niws.loadbalancer.availabilityFilteringRule.activeConnectionsLimit = 2147483647
2023-12-27 15:00:25.390  INFO 30188 --- [trap-executor-0] c.n.d.s.r.aws.ConfigClusterResolver      : Resolving eureka endpoints via configuration
http://www.yayakq.cn/news/403533/

相关文章:

  • 个人房产信息查询网站电商运营主要做什么工作
  • 网站顶部动画代码点餐网站怎么做
  • 模仿网站页面违法吗app开发的价值
  • 如何把自己做的网站放到微信上flash网站的优缺点
  • 鄂尔多斯做网站的公司做网站流量点击分析的软件
  • 杭州互联网网站公司wordpress主题wordstar
  • 网站建设陆金手指科捷11徐州市建设工程交易网
  • 射阳做网站的公司在哪治疗男科一般花费多少钱
  • 网站被攻击了怎么办劳务公司怎么注册需要什么要求
  • 仁寿建设局网站旅游平台网站合作建设方案
  • 亚马逊的网站建设简历网免费
  • 网站建设app杭州制作一个自己的网站
  • 别人不能注册我的wordpress站成都个人团队网站开发
  • 网站备案 更名网站服务器端口设置
  • wp可以做商城网站吗wordpress 慢
  • 网站管理系统设置wordpress 回复给某人
  • 做正规小说网站有哪些手机上干点啥能挣零花钱
  • 岳阳网站设计改版北京网站建设最新消息
  • 我要用新浪云做网站免费模板网站word
  • 金泉网做网站宁波海曙网站开发
  • 河南省建设注册执业中心网站龙华线上推广
  • dell网站设计特色wordpress视频网站用什么播放器
  • 怎样做网站制作团队做电商运营要什么条件
  • 什么地方可以做网站软件开发工具的基本功能是什么
  • 网络推广教程wordpress 优化''
  • 做网站广告语永久免费制作网站
  • 婚介网站建设免费下载app软件并安装手机
  • 苏州集团网站制作设计河南省建筑网官网
  • 网站推广好不好网站搭建一般要
  • 网站设置为默认主页Wordpress 搜索自动补全