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

自己建设的网站靠谱吗如何在网上推广自己的产品

自己建设的网站靠谱吗,如何在网上推广自己的产品,新手站长做什么网站,网站服务器过期了怎么办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.ds6.com.cn/news/14851.html

相关文章:

  • 做网站设计的公司有哪些免费引流人脉推广软件
  • 网站维护都要做什么深圳网站建设找哪家公司好
  • 尉氏做网站谷歌官网首页
  • 网龙公司有做网站吗营销型网站推广方案
  • 郑州建站系统费用seo网站关键词优化怎么做
  • 江苏网站建设机构南宁优化网站网络服务
  • python的网站开发企业公司网站建设
  • 做网站电脑和手机都是一样可以看吗站长网站大全
  • 河南单位网站建设成都网站推广
  • 贵港市城乡住房建设厅网站淘宝店铺运营
  • 众筹网站搭建杭州seo公司排名
  • 宿州网站建设福建网络seo关键词优化教程
  • wordpress 写博客上海营销seo
  • 江门网站建设定制电商运营培训班
  • 公司一个人做网站企业品牌营销推广
  • 北京顺义建设委员会网站首页长沙网络推广
  • 72建站网如何建设一个药材网站深圳seo专家
  • 深圳闭环转运上海网络公司seo
  • 邯郸小学网站建设保定seo推广公司
  • wordpress 数据站搜索引擎的营销方法有哪些
  • 趣闻网站如何做百度推广公司
  • 网站建设是什么意思国家市场监管总局
  • 如何用visual做网站海外网站推广优化专员
  • 建筑招工信息网厦门关键词seo排名网站
  • 论坛网站文本抓取怎么做赣州网站seo
  • 无锡建网站移动建站优化
  • 免费做公司网站能在百度上搜索的到软文营销范文
  • 南京一站式工程装饰装修网站优化 英语
  • java 做的网站澳门seo推广
  • 做赌场网站犯法么长沙谷歌seo收费