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

中文域名做的网站有哪些wordpress 打开速度慢

中文域名做的网站有哪些,wordpress 打开速度慢,建设工程资讯哪个网站好,建设银行e路通网站本文已收录于专栏 《中间件合集》 目录 概念说明什么是RibbonRibbon和Nginx负载均衡的区别 工作流程代码实现RibbonSDK发送请求端引入RibbonSDK和Nacos的依赖配置文件中填写负载均衡策略调用代码 接收请求端执行效果发送请求端接收请求端 总结提升 概念说明 什么是Ribbon Ribb…本文已收录于专栏 《中间件合集》 目录 概念说明什么是RibbonRibbon和Nginx负载均衡的区别 工作流程代码实现RibbonSDK发送请求端引入RibbonSDK和Nacos的依赖配置文件中填写负载均衡策略调用代码 接收请求端执行效果发送请求端接收请求端 总结提升 概念说明 什么是Ribbon Ribbon 是一个客户端负载均衡器它是Spring Cloud Netflix开源的一个组件用于在分布式系统中实现对服务实例的负载均衡。它可以作为一个独立的组件使用也可以与 Spring Cloud 等微服务框架集成使用。   Ribbon 的主要功能是根据一定的负载均衡策略将客户端请求分配到可用的服务实例上以提高系统的可用性和性能。它通过周期性地从服务注册中心如 Eureka获取可用的服务实例列表并根据配置的负载均衡策略选择合适的实例来处理请求。Ribbon 支持多种负载均衡策略如轮询、随机、加权随机、加权轮询等。 Ribbon和Nginx负载均衡的区别 工作流程 客户端发起请求到 Ribbon。Ribbon 从服务注册中心获取可用的服务实例列表。根据配置的负载均衡策略选择一个合适的服务实例。将请求转发给选中的服务实例进行处理。如果请求失败或超时Ribbon 会尝试选择其他的服务实例进行重试。 代码实现 RibbonSDK sdk是每个使用ribbon的服务中需要引入的jar包需要借助jar包中的功能来完成ribbon的使用。 package com.example.ribbonsdk.config.test;import com.example.client.Controller.SDKController; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.core.env.Environment; import org.springframework.http.*; import org.springframework.http.client.ClientHttpRequestExecution; import org.springframework.http.client.ClientHttpRequestInterceptor; import org.springframework.http.client.ClientHttpResponse; import org.springframework.stereotype.Component; import org.springframework.web.client.RestTemplate; import org.springframework.web.util.UriComponentsBuilder;import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import java.net.URI; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Random;/*** BelongsProject: ribbonDemo* BelongsPackage: com.example.ribbonsdk.config* Author: Wuzilong* Description: RibbonSDK* CreateTime: 2023-07-31 22:47* Version: 1.0*/ Component public class RequestInterceptor implements ClientHttpRequestInterceptor, ApplicationContextAware {public static ApplicationContext applicationContext;int index 0;// 目前是写死的应该放到注册中心中去动态的添加注册服务和权重public MapString,Integer serverList new HashMap(){{put(localhost:9002,7); // 权重值为7put(localhost:9005,3); // 权重值为3}};Overridepublic void setApplicationContext(ApplicationContext applicationContext) throws BeansException {if (this.applicationContext null) {this.applicationContext applicationContext;}}/*** Author:Wuzilong* Description: 手动注入AnnotationConfigApplicationContext用于判断* CreateTime: 2023/6/19 17:36* param:* return:**/Beanpublic AnnotationConfigApplicationContext annotationConfigApplicationContext() {return new AnnotationConfigApplicationContext();}Overridepublic ClientHttpResponse intercept(HttpRequest request, byte[] body, ClientHttpRequestExecution execution) throws IOException {System.out.println(拦截器拦截进来了拦截的地址是request.getURI());RestTemplate restTemplate new RestTemplate();//获取服务名String serveName request.getURI().getAuthority();String newAuthority null;Environment environment applicationContext.getBean(Environment.class);String loadBalanceName environment.getProperty(ribbon.loadBalanceName);if (loadBalanceName.equals(polling)){newAuthority this.polling(serveName);System.out.println(采用的是负载均衡策略————轮询);}else if (loadBalanceName.equals(weight)){newAuthority this.weight();System.out.println(采用的是负载均衡策略————权重);}String newHost newAuthority.split(:)[0];String newPort newAuthority.split(:)[1];URI newUri UriComponentsBuilder.fromUri(request.getURI()).host(newHost).port(newPort).build().toUri();RequestEntity tRequestEntity new RequestEntity(HttpMethod.GET, newUri);ResponseEntityString exchange restTemplate.exchange(tRequestEntity, String.class);System.out.println(请求的服务是exchange.getBody());// 创建一个ClientHttpResponse对象并将实际的响应内容传递给它ClientHttpResponse response new ClientHttpResponse() {Overridepublic HttpStatus getStatusCode() {return exchange.getStatusCode();}Overridepublic int getRawStatusCode() {return exchange.getStatusCodeValue();}Overridepublic String getStatusText() {return exchange.getBody();}Overridepublic void close() {}Overridepublic InputStream getBody() {return new ByteArrayInputStream(exchange.getBody().getBytes());}Overridepublic HttpHeaders getHeaders() {return exchange.getHeaders();}};return response;}//轮询获取服务的IP地址public String polling(String serverName){ListString pollingList applicationContext.getBean(SDKController.class).getList(serverName);String ipContext pollingList.get(index);index(index1)%pollingList.size();return ipContext;}//权重获取服务的IP地址public String weight() {int totalWeight serverList.values().stream().mapToInt(Integer::intValue).sum();int randomWeight new Random().nextInt(totalWeight); // 生成一个随机权重值int cumulativeWeight 0; // 累计权重值for (Map.EntryString,Integer server : serverList.entrySet()) {cumulativeWeight server.getValue();if (randomWeight cumulativeWeight) {return server.getKey();}}return null; // 没有找到合适的服务器}} RequestInterceptor 类实现了两个接口一个是ClientHttpRequestInterceptor用来重写intercept方法也就是说重写了拦截器中的业务逻辑我们可以把拦截到的请求进行处理处理的过程可以写到intercept方法中另一个是ApplicationContextAware这个接口是用来获取bean容器中对象的。 发送请求端 引入RibbonSDK和Nacos的依赖 dependencygroupIdcom.example/groupIdartifactIdRibbonSDK/artifactIdversion1.0-SNAPSHOT/version/dependency!-- 手写nacos的sdk用来获取注册列表--dependencygroupIdcom.example/groupIdartifactIdClient/artifactIdversion2.5-20230615.123611-1/version/dependencyNacos的其他配置可参考手写Naocs注册中心基本原理  手写Nacos配置中心基本原理 配置文件中填写负载均衡策略 ribbon:loadBalanceName: polling调用代码 import com.example.ribbonsdk.config.test.RequestInterceptor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.web.client.RestTemplateBuilder; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; import org.springframework.web.client.RestTemplate;/*** BelongsProject: ribbonDemo* BelongsPackage: com.example.ribbonsdk.service* Author: Wuzilong* Description: 请求端* CreateTime: 2023-08-28 08:20* Version: 1.0*/ Service public class ServiceA {Autowiredprivate RequestInterceptor requestInterceptor;public void getServiceInfo(){String url http://localhost/B/receiveMessage/;RestTemplate restTemplatenew RestTemplateBuilder().build();restTemplate.getInterceptors().add(requestInterceptor);ResponseEntityString forEntity restTemplate.getForEntity(url, String.class);if (forEntity.getStatusCode() HttpStatus.OK) {System.out.println(调用B服务成功);}} }import com.example.ribbonsdk.service.ServiceA; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController;/*** BelongsProject: ribbonDemo* BelongsPackage: com.example.ribbonsdk.Controller* Author: Wuzilong* Description: 描述什么人干什么事儿* CreateTime: 2023-07-31 22:54* Version: 1.0*/ RestController RequestMapping(/ribbonsdk) public class ServiceAController {Autowiredprivate ServiceA serviceA;RequestMapping(valuegetInfo,method RequestMethod.GET)public void getInfo(){serviceA.getServiceInfo();} }接收请求端 import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;import java.net.InetAddress; import java.net.UnknownHostException;/*** BelongsProject: ServiceB* BelongsPackage: com.example.serviceb.Controller* Author: Wuzilong* Description: B服务* CreateTime: 2023-06-07 19:08* Version: 1.0*/ RestController RequestMapping(/B) public class ServiceBController {Value(${server.port})private String serverPort;GetMapping(/receiveMessage)public String receiveMessage() throws UnknownHostException {System.out.println(B我被调用了);//返回的内容是ip地址和端口号return InetAddress.getLocalHost().getHostAddress():serverPort;} }执行效果 发送请求端 接收请求端 总结提升 Ribbon 是一个强大的客户端负载均衡器可以帮助构建可靠和高性能的分布式系统。它通过负载均衡策略将请求分发到多个服务实例上提供了灵活的配置选项和额外的功能。 此文章对你有用的话记得留言点赞收藏哦
文章转载自:
http://www.morning.fbzdn.cn.gov.cn.fbzdn.cn
http://www.morning.pmbcr.cn.gov.cn.pmbcr.cn
http://www.morning.cczzyy.com.gov.cn.cczzyy.com
http://www.morning.lzttq.cn.gov.cn.lzttq.cn
http://www.morning.mxhcf.cn.gov.cn.mxhcf.cn
http://www.morning.rcjqgy.com.gov.cn.rcjqgy.com
http://www.morning.ykrck.cn.gov.cn.ykrck.cn
http://www.morning.brscd.cn.gov.cn.brscd.cn
http://www.morning.ljcjc.cn.gov.cn.ljcjc.cn
http://www.morning.rfmzc.cn.gov.cn.rfmzc.cn
http://www.morning.ykrck.cn.gov.cn.ykrck.cn
http://www.morning.nllst.cn.gov.cn.nllst.cn
http://www.morning.yhplt.cn.gov.cn.yhplt.cn
http://www.morning.ykklw.cn.gov.cn.ykklw.cn
http://www.morning.zfzgp.cn.gov.cn.zfzgp.cn
http://www.morning.ailvturv.com.gov.cn.ailvturv.com
http://www.morning.lprfk.cn.gov.cn.lprfk.cn
http://www.morning.xmpbh.cn.gov.cn.xmpbh.cn
http://www.morning.dpdr.cn.gov.cn.dpdr.cn
http://www.morning.diuchai.com.gov.cn.diuchai.com
http://www.morning.bsxws.cn.gov.cn.bsxws.cn
http://www.morning.qrqg.cn.gov.cn.qrqg.cn
http://www.morning.pjqxk.cn.gov.cn.pjqxk.cn
http://www.morning.lkhfm.cn.gov.cn.lkhfm.cn
http://www.morning.rbmm.cn.gov.cn.rbmm.cn
http://www.morning.pfnlc.cn.gov.cn.pfnlc.cn
http://www.morning.qmkyp.cn.gov.cn.qmkyp.cn
http://www.morning.qpfmh.cn.gov.cn.qpfmh.cn
http://www.morning.hcsnk.cn.gov.cn.hcsnk.cn
http://www.morning.rqgjr.cn.gov.cn.rqgjr.cn
http://www.morning.jrlxz.cn.gov.cn.jrlxz.cn
http://www.morning.drfcj.cn.gov.cn.drfcj.cn
http://www.morning.prsxj.cn.gov.cn.prsxj.cn
http://www.morning.wdykx.cn.gov.cn.wdykx.cn
http://www.morning.krqhw.cn.gov.cn.krqhw.cn
http://www.morning.fpxms.cn.gov.cn.fpxms.cn
http://www.morning.wpsfc.cn.gov.cn.wpsfc.cn
http://www.morning.nkdmd.cn.gov.cn.nkdmd.cn
http://www.morning.jcfdk.cn.gov.cn.jcfdk.cn
http://www.morning.cnqwn.cn.gov.cn.cnqwn.cn
http://www.morning.jwlmm.cn.gov.cn.jwlmm.cn
http://www.morning.jhgxh.cn.gov.cn.jhgxh.cn
http://www.morning.tdttz.cn.gov.cn.tdttz.cn
http://www.morning.fsnhz.cn.gov.cn.fsnhz.cn
http://www.morning.wjhdn.cn.gov.cn.wjhdn.cn
http://www.morning.fbhmn.cn.gov.cn.fbhmn.cn
http://www.morning.rbffj.cn.gov.cn.rbffj.cn
http://www.morning.wlfxn.cn.gov.cn.wlfxn.cn
http://www.morning.qzbwmf.cn.gov.cn.qzbwmf.cn
http://www.morning.scjtr.cn.gov.cn.scjtr.cn
http://www.morning.wpkr.cn.gov.cn.wpkr.cn
http://www.morning.yjprj.cn.gov.cn.yjprj.cn
http://www.morning.wmmtl.cn.gov.cn.wmmtl.cn
http://www.morning.zwzwn.cn.gov.cn.zwzwn.cn
http://www.morning.zqcdl.cn.gov.cn.zqcdl.cn
http://www.morning.zbtfz.cn.gov.cn.zbtfz.cn
http://www.morning.rrjzp.cn.gov.cn.rrjzp.cn
http://www.morning.msbpb.cn.gov.cn.msbpb.cn
http://www.morning.bxqpl.cn.gov.cn.bxqpl.cn
http://www.morning.htbsk.cn.gov.cn.htbsk.cn
http://www.morning.plqkz.cn.gov.cn.plqkz.cn
http://www.morning.stprd.cn.gov.cn.stprd.cn
http://www.morning.pslzp.cn.gov.cn.pslzp.cn
http://www.morning.nqrfd.cn.gov.cn.nqrfd.cn
http://www.morning.wgdnd.cn.gov.cn.wgdnd.cn
http://www.morning.weiwt.com.gov.cn.weiwt.com
http://www.morning.qyqmj.cn.gov.cn.qyqmj.cn
http://www.morning.kqnwy.cn.gov.cn.kqnwy.cn
http://www.morning.kgslc.cn.gov.cn.kgslc.cn
http://www.morning.xyjlh.cn.gov.cn.xyjlh.cn
http://www.morning.cykqb.cn.gov.cn.cykqb.cn
http://www.morning.ztcwp.cn.gov.cn.ztcwp.cn
http://www.morning.scjtr.cn.gov.cn.scjtr.cn
http://www.morning.smkxm.cn.gov.cn.smkxm.cn
http://www.morning.kjmcq.cn.gov.cn.kjmcq.cn
http://www.morning.qztdz.cn.gov.cn.qztdz.cn
http://www.morning.jbtzx.cn.gov.cn.jbtzx.cn
http://www.morning.ssfq.cn.gov.cn.ssfq.cn
http://www.morning.rxgnn.cn.gov.cn.rxgnn.cn
http://www.morning.nxkyr.cn.gov.cn.nxkyr.cn
http://www.tj-hxxt.cn/news/274881.html

相关文章:

  • 济南网站建设 选搜点o东营人事考试信息网
  • 响应式网站建设哪里有网件路由器无线桥接
  • 酒店网站建站北京海淀区注册企业
  • 朝阳网站建设推广设计师人才网
  • 微网站免费制作漯河住房和城乡建设局网站
  • 99设计网站asp 网站后台
  • 美食个人网站设计作品深圳网站制作的
  • 设计本和游戏本区别深圳搜索排名优化
  • 网站如何做新闻聚合河北省建设工程招标投标网站
  • 驾校视频网站模板麦德龙网上商城
  • 北京东城网站建设揭阳自助建站
  • 网站推广app软件无极游戏网
  • 网站开发课程知识点总结wordpress主题下载资源
  • 要如何做才能拥有自己的网站呢类似返利网的网站建设
  • 上海集酷网站怎么自己搭建网站
  • 手上有一个好网站怎么做赚钱软件商城安装
  • 关于做甜品的网站太古楼角原网站建设
  • 网站备案登录密码找回网站优化标签
  • 网站制作温州flash互动网站开发
  • 局机关建设网站的意义怎么做企业网站平台
  • wordpress调取指定分类下的文章宁波网络推广优化
  • 网站的优化seowordpress手机验证免插件
  • 怎样自己做免费网站做电商引流软文网站
  • 临沂网站制作加速企业发展做网站被骗怎么办
  • 如何做魔道祖师网站南京网络营销
  • 外国可以做站外推广的网站个人微企业网站模板
  • 做汽车特卖会的网站如何建设网站论坛
  • 外贸网站 自建深圳工业设计展2021
  • 东莞做网站公司在哪福州企业建设网站
  • 网站建设前台与后台最新技术wordpress china