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

个人网站免费域名获取网站如何做的有特色

个人网站免费域名获取,网站如何做的有特色,团购网站前景,汕头免费网站制作6. Ribbon#xff1a;负载均衡(基于客户端) 6.1 负载均衡以及Ribbon Ribbon是什么#xff1f; Spring Cloud Ribbon 是基于Netflix Ribbon 实现的一套客户端负载均衡的工具。简单的说#xff0c;Ribbon 是 Netflix 发布的开源项目#xff0c;主要功能是提供客户端的软件负…6. Ribbon负载均衡(基于客户端) 6.1 负载均衡以及Ribbon Ribbon是什么 Spring Cloud Ribbon 是基于Netflix Ribbon 实现的一套客户端负载均衡的工具。简单的说Ribbon 是 Netflix 发布的开源项目主要功能是提供客户端的软件负载均衡算法将 Netflix 的中间层服务连接在一起。Ribbon 的客户端组件提供一系列完整的配置项如连接超时、重试等。简单的说就是在配置文件中列出 LoadBalancer (简称LB负载均衡) 后面所有的及其Ribbon 会自动的帮助你基于某种规则 (如简单轮询随机连接等等) 去连接这些机器。我们也容易使用 Ribbon 实现自定义的负载均衡算法 Ribbon能干嘛 通过Ribbon的负载均衡(轮询、随机算法等)实现将10000个请求分配个多个服务注册中心请求处理方 LB即负载均衡 (LoadBalancer) 在微服务或分布式集群中经常用的一种应用。负载均衡简单的说就是将用户的请求平摊的分配到多个服务上从而达到系统的HA (高可用)。常见的负载均衡软件有 Nginx、Lvs 等等。Dubbo、SpringCloud 中均给我们提供了负载均衡SpringCloud 的负载均衡算法可以自定义。 负载均衡简单分类 集中式LB 即在服务的提供方和消费方之间使用独立的LB设施如Nginx(反向代理服务器)由该设施负责把访问请求通过某种策略转发至服务的提供方进程式 LB 将LB逻辑集成到消费方消费方从服务注册中心获知有哪些地址可用然后自己再从这些地址中选出一个合适的服务器。 Ribbon 就属于进程内LB它只是一个类库集成于消费方进程消费方通过它来获取到服务提供方的地址 6.2 SpringCloud集成Ribbon ① 在springcloud-consumer-dept-80 添加 Ribbon和Eureka依赖 !--Ribbon-- dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-ribbon/artifactIdversion1.4.6.RELEASE/version /dependency !--Eureka: Ribbon需要从Eureka服务中心获取要拿什么-- dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-eureka/artifactIdversion1.4.6.RELEASE/version /dependency② 在application.yml 配置Eureka # Eureka配置 eureka:client:register-with-eureka: false # 不向 Eureka注册自己注册服务器就好service-url: # 从三个注册中心中随机取一个去访问defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/③在启动类的上添加EnableEurekaClient 启动Eureka ④ 自定义Spring配置类ConfigBean.java 配置负载均衡实现RestTemplate Configuration public class ConfigBean {//Configuration -- spring applicationContext.xmlLoadBalanced //配置负载均衡实现RestTemplateBeanpublic RestTemplate getRestTemplate() {return new RestTemplate();} }⑤ 修改conrollerDeptConsumerController.java //Ribbon:我们这里的地址应该是一个变量通过服务名来访问 //private static final String REST_URL_PREFIX http://localhost:8001; private static final String REST_URL_PREFIX http://SPRINGCLOUD-PROVIDER-DEPT;⑥测试结果先启动7001、7002再启动8001最后客户端 6.3 使用Ribbon实现负载均衡 Ribben从服务注册中心获得可用的已注册服务列表通过默认的轮询算法来实现负载均衡选择服务提供者 流程图 1、 新建两个服务提供者 8002、8003 2、新建两个数据库参考8001为另外两个Moudle添加pom.xml依赖 、resourece下的mybatis和application.yml配置Java代码 3、启动所有服务测试(根据自身电脑配置决定启动服务的个数)访问http://eureka7001.com:7002/查看结果 6.4 自定义负载均衡算法 在springcloud-provider-dept-80模块下的ConfigBean中进行配置 1.去查看IRule的源码里面封装着许多负载均衡的算法根据具体需求挑选使用就好 Configuration public class MyRule {Beanpublic IRule myRule(){return new MyRandomRule();//默认是轮询RandomRule,现在自定义为自己的} }查看IRule的源码会发现许多负载均衡的算法 2.自定义负载均衡算法的要求 注意官网要求 注不是配置类是配置类的算法不和主启动类同一目录否则会被扫描到所有的RibbenClient都会共享使用 3.在启动类上加载我们自定义的Ribben类 注意指定name“具体的服务提供者的id”指定自定义的Ribben类 //Ribbon 和 Eureka 整合以后客户端可以直接调用不用关心IP地址和端口号 SpringBootApplication EnableEurekaClient //在微服务启动的时候就能加载自定义的Ribbon类(自定义的规则会覆盖原有默认的规则) RibbonClient(name SPRINGCLOUD-PROVIDER-DEPT,configuration MyRule.class)//开启负载均衡,并指定自定义的规则 public class DeptConsumer_80 {public static void main(String[] args) {SpringApplication.run(DeptConsumer_80.class, args);} }4、另建新的包配置自定义负载均衡算法以bean形式注入Spring中 5、自定义算法类 ①先理解随机算法的源码 ②制定自定义算法的效果 ③具体的算法 自定义的规则 :参考源码修改一下 public class MyRandomRule extends AbstractLoadBalancerRule {/*** 每个服务访问5次则换下一个服务(总共3个服务)* p* total0,默认0,如果5,指向下一个服务节点* index0,默认0,如果total5,index1*/private int total 0;//被调用的次数private int currentIndex 0;//当前是谁在提供服务//edu.umd.cs.findbugs.annotations.SuppressWarnings(value RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE)public Server choose(ILoadBalancer lb, Object key) {if (lb null) {return null;}Server server null;while (server null) {if (Thread.interrupted()) {return null;}ListServer upList lb.getReachableServers();//获得当前活着的服务ListServer allList lb.getAllServers();//获取所有的服务int serverCount allList.size();if (serverCount 0) {/** No servers. End regardless of pass, because subsequent passes* only get more restrictive.*/return null;}//int index chooseRandomInt(serverCount);//生成区间随机数//server upList.get(index);//从或活着的服务中,随机获取一个//自定义代码if (total 5) {server upList.get(currentIndex);total;} else {total 0;currentIndex;if (currentIndex upList.size()) {currentIndex 0;}server upList.get(currentIndex);//从活着的服务中,获取指定的服务来进行操作}//if (server null) {/** The only time this should happen is if the server list were* somehow trimmed. This is a transient condition. Retry after* yielding.*/Thread.yield();continue;}if (server.isAlive()) {return (server);}// Shouldnt actually happen.. but must be transient or a bug.server null;Thread.yield();}return server;}protected int chooseRandomInt(int serverCount) {return ThreadLocalRandom.current().nextInt(serverCount);}Overridepublic Server choose(Object key) {return choose(getLoadBalancer(), key);}Overridepublic void initWithNiwsConfig(IClientConfig clientConfig) {// TODO Auto-generated method stub} }6、测试效果 注意 SpringCloud-Ribbon负载均衡(基于客户端) 到此完结笔者归纳、创作不易大佬们给个3连再起飞吧
http://www.pierceye.com/news/365049/

相关文章:

  • 网站 营销网站的备案的要多少钱
  • 网站模板 源码wordpress手机端装换
  • 咋把网站制作成软件wordpress添加单页模板
  • 大连网站平台研发偷别人的WordPress主题
  • 做网站ps文字有锯齿公司做外地网站
  • 如何在百度提交自己的网站梦织和wordpress特点
  • 毕业设计做网站还是系统好网站可以随便创建么
  • 做网站与网页有什么区别昊客网络
  • 临沂地区建站网站设计一个企业网站首页
  • wordpress本地建站精准信息预测
  • 云服务器如何安装网站爱站网seo综合查询
  • 个人建什么样的网站好wordpress添加用户登录
  • 中国教育网站官网做网站购买域名之后
  • 公司网站建设的优势新图闻的品牌建设经验
  • 网站建设是在商标哪个类别深圳宝安区新安街道
  • 网站推广服务器怎么选wordpress获取菜单链接地址
  • 横岗做网站外贸网站建设推广优化
  • 怎样搭建一个个人网站国金紫郡府淮北论坛
  • 网站建设类型wordpress词典模板
  • wordpress标签订阅插件优化网站视频
  • 聊城市建设工程质量监督站网站济南建站公司哪有
  • 郑州做网站便宜没有有知道钓鱼网站在哪儿做
  • 免费建自己域名的网站吗seo推广排名软件
  • 关于asp_sql网站开发的书籍专门做图片的网站cms
  • 淮安 网站建设:2003建网站
  • 怎么做网站的主页面编程软件scratch免费下载
  • 建设银行无锡分行网站网页版游戏单机游戏
  • 遵义网站建设中心如何低成本做网站推广
  • 国基建设集团有限公司网站学校网站网页模板
  • 舟山网站开发免费com域名网站