最好网站建设制作是那个网站网页优化

pingmian/2025/10/12 8:35:52/文章来源:
最好网站建设制作是那个,网站网页优化,营销案例分析网站,网站动图怎么做目录 Ribbon 简介 负载均衡 简介 负载均衡方式 服务端负载均衡 工作原理 特点 客户端负载均衡 工作原理 特点 对比 实现 负载均衡策略 切换负载均衡策略 定制负载均衡策略 超时与重试 单个服务配置 全局配置 服务调用 示例 Ribbon 简介 Ribbon 是 Netfli…目录 Ribbon 简介 负载均衡 简介 负载均衡方式 服务端负载均衡 工作原理 特点 客户端负载均衡 工作原理 特点 对比 实现 负载均衡策略 切换负载均衡策略 定制负载均衡策略 超时与重试 单个服务配置 全局配置 服务调用 示例 Ribbon 简介 Ribbon 是 Netflix 公司发布的开源组件其主要功能是提供客户端的负载均衡算法和服务调用通过它我们可以将面向服务的 REST 模板请求转换为客户端负载均衡的服务调用。微服务之间的调用API 网关的请求转发等内容实际上都是通过 Ribbon 来实现的。 负载均衡 简介 在任何一个系统中负载均衡都是一个十分重要且不得不去实施的内容它是系统处理高并发、缓解网络压力和服务端扩容的重要手段之一。 负载均衡简单点说就是将用户的请求平摊分配到多个服务器上运行以达到扩展服务器带宽、增强数据处理能力、增加吞吐量、提高网络的可用性和灵活性的目的。 负载均衡方式 常见的负载均衡方式有两种服务端负载均衡、客户端负载均衡 服务端负载均衡 工作原理 服务端负载均衡是在客户端和服务端之间建立一个独立的负载均衡服务器该服务器既可以是硬件设备例如 F5也可以是软件例如 Nginx。这个负载均衡服务器维护了一份可用服务端清单然后通过心跳机制来删除故障的服务端节点以保证清单中的所有服务节点都是可以正常访问的。         当客户端发送请求时该请求不会直接发送到服务端进行处理而是全部交给负载均衡服务器由负载均衡服务器按照某种算法例如轮询、随机等从其维护的可用服务清单中选择一个服务端然后进行转发。 特点 1.需要建立一个独立的负载均衡服务器 2.负载均衡是在客户端发送请求后进行的因此客户端并不知道到底是哪个服务端提供的服务 3.可用服务端清单存储在负载均衡服务器上 客户端负载均衡 相较于服务端负载均衡客户端服务在均衡则是一个比较小众的概念 工作原理 客户端负载均衡是将负载均衡逻辑以代码的形式封装到客户端上即负载均衡器位于客户端。客户端通过服务注册中心例如 Eureka Server获取到一份服务端提供的可用服务清单。有了服务清单后负载均衡器会在客户端发送请求前通过负载均衡算法选择一个服务端实例再进行访问以达到负载均衡的目的         客户端负载均衡也需要心跳机制去维护服务端清单的有效性这个过程需要配合服务注册中心一起完成  特点 1.负载均衡器位于客户端不需要单独搭建一个负载均衡服务器 2.负载均衡是在客户端发送请求前进行的因此客户端清楚地知道是哪个服务端提供的服务 3.客户端都维护了一份可用服务清单而这份清单都是从服务注册中心获取的 Ribbon 就是一个基于 HTTP 和 TCP 的客户端负载均衡器当我们将 Ribbon 和 Eureka 一起使用时Ribbon 会从 Eureka Server服务注册中心中获取服务端列表然后通过负载均衡策略将请求分摊给多个服务提供者从而达到负载均衡的目的 对比 实现 Ribbon 是一个客户端的负载均衡器它可以与 Eureka 配合使用轻松地实现客户端的负载均衡。Ribbon 会先从 Eureka Server服务注册中心去获取服务端列表然后通过负载均衡策略将请求分摊给多个服务端从而达到负载均衡的目的 负载均衡策略 序号实现类负载均衡策略1RoundRobinRule轮询策略即按照一定的顺序依次选取服务实例2RandomRule随机选取一个服务实例3RetryRule按照轮询的策略来获取服务如果获取的服务实例为 null 或已经失效则在指定的时间之内不断地进行重试如果超过指定时间依然没获取到服务实例则返回 null 4WeightedResponseTimeRule根据平均响应时间来计算所有服务实例的权重响应时间越短的服务实例权重越高被选中的概率越大5BestAvailableRule先过滤点故障或失效的服务实例然后再选择并发量最小的服务实例6AvailabilityFilteringRule先过滤掉故障或失效的服务实例然后再选择并发量较小的服务实例7ZoneAvoidanceRule默认的负载均衡策略综合判断服务所在区域的性能和服务的可用性来选择服务实例 切换负载均衡策略 Ribbon 默认使用轮询策略选取服务实例我们也可以根据自身的需求切换负载均衡策略只需要在服务消费者客户端的配置类中将 IRule 的其他实现类注入到容器中即可 在配置类 ConfigBean 中添加以下代码将负载均衡策略切换为 RandomRule随机 Bean public IRule myRule() {// RandomRule 为随机策略return new RandomRule(); } 定制负载均衡策略 1.创建一个名为 MyRandomRule 的类 package net.biancheng.myrule;import com.netflix.client.config.IClientConfig; import com.netflix.loadbalancer.AbstractLoadBalancerRule; import com.netflix.loadbalancer.ILoadBalancer; import com.netflix.loadbalancer.Server;import java.util.List;/** * 定制 Ribbon 负载均衡策略 */ public class MyRandomRule extends AbstractLoadBalancerRule {private int total 0; // 总共被调用的次数目前要求每台被调用5次private int currentIndex 0; // 当前提供服务的机器号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();//如果没有任何的服务实例则返回 nullint serverCount allList.size();if (serverCount 0) {return null;}//与随机策略相似但每个服务实例只有在调用 3 次之后才会调用其他的服务实例if (total 3) {server upList.get(currentIndex);total;} else {total 0;currentIndex;if (currentIndex upList.size()) {currentIndex 0;}}if (server null) {Thread.yield();continue;}if (server.isAlive()) {return (server);}server null;Thread.yield();}return server;}Overridepublic Server choose(Object key) {return choose(getLoadBalancer(), key);}Overridepublic void initWithNiwsConfig(IClientConfig clientConfig) {// TODO Auto-generated method stub} } 2.创建一个名为 MySelfRibbonRuleConfig 的配置类将我们定制的负载均衡策略实现类注入到容器中 /** * 定制 Ribbon 负载均衡策略的配置类 * 该自定义 Ribbon 负载均衡策略配置类 不能在 net.biancheng.c 包及其子包下 * 否则所有的 Ribbon 客户端都会采用该策略无法达到特殊化定制的目的 */ Configuration public class MySelfRibbonRuleConfig {Beanpublic IRule myRule() {//自定义 Ribbon 负载均衡策略return new MyRandomRule(); //自定义随机选择某一个微服务执行五次} } 3.修改位于启动类在该类上使用 RibbonClient 注解让我们定制的负载均衡策略生效 SpringBootApplication EnableEurekaClient //自定义 Ribbon 负载均衡策略在主启动类上使用 RibbonClient 注解在该微服务启动时就能自动去加载我们自定义的 Ribbon 配置类从而是配置生效 // name 为需要定制负载均衡策略的微服务名称application name // configuration 为定制的负载均衡策略的配置类 // 且官方文档中明确提出该配置类不能在 ComponentScan 注解SpringBootApplication 注解中包含了该注解下的包或其子包中即自定义负载均衡配置类不能在 net.biancheng.c 包及其子包下 RibbonClient(name MICROSERVICECLOUDPROVIDERDEPT, configuration MySelfRibbonRuleConfig.class) public class MicroServiceCloudConsumerDept80Application {public static void main(String[] args) {SpringApplication.run(MicroServiceCloudConsumerDept80Application.class, args);} } 超时与重试 使用HTTP发起请求难免会发生问题在F版开始Ribbon的重试机制默认是开启的需要添加对超时时间与重试策略的配置 单个服务配置 RIBBON-SERVICE-B:ribbon:NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRuleConnectTimeout: 3000ReadTimeout: 60000MaxAutoRetries: 3 #对第一次请求的服务的重试次数MaxAutoRetriesNextServer: 1 #要重试的下一个服务的最大数量不包括第一个服务OkToRetryOnAllOperations: true全局配置 ribbon:ConnectTimeout: 3000ReadTimeout: 60000MaxAutoRetries: 3 #对第一次请求的服务的重试次数MaxAutoRetriesNextServer: 1 #要重试的下一个服务的最大数量不包括第一个服务OkToRetryOnAllOperations: true服务调用 Ribbon 可以与 RestTemplateRest 模板配合使用以实现微服务之间的调用 RestTemplate 是 Spring 家族中的一个用于消费第三方 REST 服务的请求框架。RestTemplate 实现了对 HTTP 请求的封装提供了一套模板化的服务调用方法。通过它Spring 应用可以很方便地对各种类型的 HTTP 请求进行访问。 示例 1.引入依赖 !--Spring Cloud Ribbon 依赖--dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-ribbon/artifactId/dependency 2.创建请求调用服务端提供的服务 RestController public class DeptController_Consumer {//private static final String REST_URL_PROVIDER_PREFIX http://localhost:8001/; 这种方式是直调用服务方的方法根本没有用到 Spring Cloud//面向微服务编程即通过微服务的名称来获取调用地址private static final String REST_URL_PROVIDER_PREFIX http://MICROSERVICECLOUDPROVIDERDEPT; // 使用注册到 Spring Cloud Eureka 服务注册中心中的服务即 application.nameAutowiredprivate RestTemplate restTemplate; //RestTemplate 是一种简单便捷的访问 restful 服务模板类是 Spring 提供的用于访问 Rest 服务的客户端模板工具集提供了多种便捷访问远程 HTTP 服务的方法//获取指定部门信息RequestMapping(value /consumer/dept/get/{id})public Dept get(PathVariable(id) Integer id) {return restTemplate.getForObject(REST_URL_PROVIDER_PREFIX /dept/get/ id, Dept.class);}//获取部门列表RequestMapping(value /consumer/dept/list)public ListDept list() {return restTemplate.getForObject(REST_URL_PROVIDER_PREFIX /dept/list, List.class);} } 3.访问

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/88355.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站开发需要看什么书彭阳门户网站建设

一、背景与目标 随着新媒体的快速发展,营销人才需求旺盛,而具备新媒体营销能力的人才供给却相对不足。为了解决这一矛盾,本方案旨在构建一个新媒体营销教学模拟实训平台,帮助学生掌握新媒体营销的实际操作技能,提高就…

天津 网站建设家庭宽带做网站服务器吗

导读:本期主要介绍永磁同步电机复矢量电流调节器。针对内置式永磁同步电机d、q轴电流存在动态耦合的问题,在基于有效磁链概念得到IPMSM的复矢量数学模型,设计出相应的复矢量电流调节器,实现了d、q轴电流的动态解耦。通过仿真验证所…

中国建设银行官网的网站首页dw2021网页设计教程

一、简介 组合式api 1、 setup&#xff08;&#xff09; 组合式api的入口页面启动后&#xff0c;第一个自动执行的函数定义项目中所有的变量、方法所有的变量和方法&#xff0c;只有return出去&#xff0c;在页面视图中正常使用<template><!-- v-text的简写-->…

网站建设报告书范文可以做动效的网站

文章目录 预定义宏_ _func_ _是C语言的预定义标识符 #line和#error#pragma泛型选择&#xff08;C11&#xff09;参考 预定义宏 C标准规定了一些预定义宏&#xff1a; _ _func_ _是C语言的预定义标识符 C99 标准提供一个名为_ _func_ _的预定义标识符&#xff0c;它展开为一…

如何用凡科建设手机教学网站株洲网站开发

bash中通过变量中的内容获取对应的关联数组 Bash declare 手册&#xff1a; https://phoenixnap.com/kb/bash-declare 实际问题&#xff1a; 在 bash 中创建了多个关联数组&#xff0c;需要根据输入的值&#xff0c;获取不同的关联数组。 可以使用 if 进行多次判断&#xff…

建立个人博客网站有什么做美食的网站

eclipse中设置自动补齐代码 01 在window里找到preference 02 在preference里搜索content assist 03 在Java的content assist设置 设置为.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ 04 apply and close即可

网站建设与维护 目录网站到期查询备案

Socket 是网络协议栈暴露给编程人员的 API&#xff0c;相比复杂的计算机网络协议&#xff0c;API 对关键操作和配置数据进行了抽象&#xff0c;简化了程序编程。 本文讲述的 socket 内容源自 Linux man。本文主要对各 API 进行详细介绍&#xff0c;从而更好的理解 socket 编程。…

东莞网站建设哪个平台好wordpress装到哪里

STL内建了一些函数对象。分为:算数类函数对象,关系运算类函数对象&#xff0c;逻辑运算类仿函数。这些仿函数所产生的对象&#xff0c;用法和一般函数完全相同&#xff0c;当然我们还可以产生无名的临时对象来履行函数功能。使用内建函数对象&#xff0c;需要引入头文件 functi…

佛山新网站建设渠道长沙短视频制作

MySQL 中的集群部署方案 前言 这里来聊聊&#xff0c;MySQL 中常用的部署方案。 MySQL Replication MySQL Replication 是官方提供的主从同步方案&#xff0c;用于将一个 MySQL 的实例同步到另一个实例中。Replication 为保证数据安全做了重要的保证&#xff0c;是目前运用…

晟合建设集团网站课程网站建设总体情况

特效是游戏制作不可或缺的一环&#xff0c;作为游戏开发者最重要的工作就是将特效添加到游戏中&#xff0c;并在合适的时机、合适的位置将特效播放出来&#xff0c;同时还要注意特效的管理和销毁。 某些种类的特效&#xff0c;如动效、贴花&#xff0c;还要编写脚本代码以实现…

做软件项目的网站营业执照怎么注销

2023年是《5G应用“扬帆”行动计划&#xff08;2021—2023年&#xff09;》的收官之年&#xff0c;5G融合应用正在从点状示范向规模化发展。截至2023年10月底&#xff0c;我国开通5G基站总数达321.5万个&#xff0c;已经建成了全球规模最大、技术领先的5G网络。目前&#xff0c…

池州哪里做网站网站建设网络推广

文章目录 示例1&#xff1a;角色与装备系统示例2&#xff1a;UI控件库示例3&#xff1a;渲染引擎模块示例4&#xff1a;AI决策树算法示例5&#xff1a;物理模拟引擎 在Unity游戏开发中&#xff0c;桥接模式&#xff08;Bridge Pattern&#xff09;是一种设计模式&#xff0c;它…

网站上的充值链接怎么做wordpress toc

LCR 076. 数组中的第 K 个最大元素 题目链接&#xff1a;LCR 076. 数组中的第 K 个最大元素 下面这个题与这个题一样&#xff1a; 题目链接&#xff1a;215. 数组中的第K个最大元素 这个代码只能通过第一个题&#xff0c;如下&#xff1a; class Solution { public:int fin…

高端旅游的网站建设新人跑业务怎么找客户

在学习使用websocket之前我们先了解一下websocket&#xff1a; WebSocket是一种在单个TCP连接上进行全双工通信的通信协议。与HTTP协议不同&#xff0c;它允许服务器主动向客户端发送数据&#xff0c;而不需要客户端明确地请求。这使得WebSocket非常适合需要实时或持续通信的应…

网站建设哪些模板号wordpress手机登陆不了

2023年10.13日&#xff0c;下午1点&#xff0c;在北京大红门国际会展中心召开了中国人口文化促进会社区文化推广工作委员会成立暨2024社区春晚文艺活动新闻发布会。来自政府相关部门、社会组织、新闻媒体和公益企业界的相关领导与代表齐聚一堂&#xff0c;共襄盛举。 本次大会由…

php源码织梦网站需要优化

应急响应的基本思路 a. 收集信息&#xff1a;收集告警信息、客户反馈信息、设备主机信息等 b. 判断类型&#xff1a;安全事件类型判断。&#xff08;钓鱼邮件、Webshll、爆破、中毒等&#xff09; c. 控制范围&#xff1a;隔离失陷设备 d. 分析研判&#xff1a;根据收集回来的…

网站建设预算计算方法网站建设实验

文章目录 300.最长递增子序列思路代码实现 674. 最长连续递增序列思路代码实现 718. 最长重复子数组思路代码实现 300.最长递增子序列 题目链接 思路 单个字符都是一个长为1的子序列&#xff0c;直接初始化dp为1。先固定一个元素位置i&#xff0c;判断0-i范围内到i的最长子序…

医院网站官方微信精神文明建设网站制作软件下载安装

问题一、canape绘制目标时&#xff0c;二维结构体变量只能录制16个的解决办法 打开ASAP2 Studio 2.6 -Expert 软件。 把该软件中的设置项如下图进行修改。 然后用ASAP2 Studio 2.6 -Expert 软件 打开elf文件导出成A2L文件。 最后关闭该软件。 再在canape工程中重新加载刚才…

如花建站jsp做的网页是网站吗

摘要&#xff1a;基于OpenGL (ES)的跨平台2D/3D游戏开发框架libGDX不仅开源免费&#xff0c;而且具有极为强大的兼容性和高效性&#xff0c;近日&#xff0c;libGDX发布全新1.2.0版本&#xff0c;除修复Bug之外&#xff0c;还新增了OpenGL性能分析、gdx-ai等一系列功能扩展和方…

做网站需要什么编程语言教育网站建设网

160. 相交链表 1、题目2、题目分析3、解题步骤4、复杂度最优解代码示例5、抽象与扩展 1、题目 给定一个整数数组 nums&#xff0c;将数组中的元素向右轮转 k 个位置&#xff0c;其中 k 是非负数。 示例 1: 输入: nums [1,2,3,4,5,6,7], k 3 输出: [5,6,7,1,2,3,4] 解释: 向…