网站在线支付功能新东方培训机构官网
- 作者: 五速梦信息网
- 时间: 2026年03月21日 07:20
当前位置: 首页 > news >正文
网站在线支付功能,新东方培训机构官网,wordpress使用有字库,启用中文域名大网站引入负载均衡 在消费方引入负载均衡机制#xff0c;同时简化获取服务提供者信息的流程 Spring Cloud引入组件LoadBalance实现负载均衡 添加依赖 dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-web同时简化获取服务提供者信息的流程 Spring Cloud引入组件LoadBalance实现负载均衡 添加依赖 dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-web/artifactId /dependency dependency groupIdcom.alibaba.cloud/groupId artifactIdspring-cloud-starter-alibaba-nacosdiscovery/artifactId /dependency dependency groupIdorg.springframework.cloud/groupId artifactIdspring-cloud-starter-loadbalancer/artifactId /dependencyproperties配置 spring.application.nameservice-consumer
Nacos 服务发现与注册配置其中子属性 server-addr 指定 Nacos 服务器主机和端口
spring.cloud.nacos.discovery.server-addrlocalhost:8848
注册到 nacos 的指定 namespace默认为 public
spring.cloud.nacos.discovery.namespacepublic server.port6082主类上添加对应的注解 EnableDiscoveryClient SpringBootApplication public class Consumer2Application { public static void main(String[] args) { SpringApplication.run(Consumer2Application.class, args); } LoadBalanced Bean public RestTemplate restTemplate() { return new RestTemplate(); } }定义对应的控制器需要访问服务提供者 RestController RequestMapping(/consumer) public class ConsumerController { Autowired private RestTemplate restTemplate; GetMapping(/{name}) public String test(PathVariable String name){ //使用LB后具体的URL地址中使用服务提供者的名称来替代原始的主机名和端口号 String res restTemplate.getForObject(http://serviceprovider/users/hello?username name, String.class); return res; } }验证测试 缓存配置 使用LB从Nacos获取服务的注册信息可以在本地进行缓存。添加配置即可 spring.cloud.loadbalancer.cache.enabledtrue 启用本地缓存可以根据实际情况权衡 spring.cloud.loadbalancer.cache.capacity1000 设置缓存空间大小 spring.cloud.loadbalancer.cache.ttl20 缓存的存活时间单位为s订阅更新 缓存有可能和远程的注册信息不一致所以引入长连接的订阅实现Nacos的主动通知更改 spring.cloud.nacos.discovery.watch.enabledtrue引入OpenFeign 添加依赖 dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-web/artifactId /dependency dependency groupIdcom.alibaba.cloud/groupId artifactIdspring-cloud-starter-alibaba-nacosdiscovery/artifactId /dependency dependency groupIdorg.springframework.cloud/groupId artifactIdspring-cloud-starter-loadbalancer/artifactId /dependency dependency groupIdorg.springframework.cloud/groupId artifactIdspring-cloud-starter-openfeign/artifactId /dependency定义配置 server.port6083
Nacos帮助文档: https://nacos.io/zh-cn/docs/concepts.html
spring.application.nameservice-consumer
Nacos 服务发现与注册配置其中子属性 server-addr 指定 Nacos 服务器主机和端口
spring.cloud.nacos.discovery.server-addrlocalhost:8848
注册到 nacos 的指定 namespace默认为 public
spring.cloud.nacos.discovery.namespacepublic在主类或者配置类上添加注解以支持OpenClient应用 EnableFeignClients // 激活 FeignClient EnableDiscoveryClient SpringBootApplication public class Consumer3Application { public static void main(String[] args) { SpringApplication.run(Consumer3Application.class, args); } }定义http伪客户端接口 FeignClient(service-provider) // 指向服务提供者应用 public interface ProviderClient { GetMapping(/users/hello) public String sayHello(RequestParam(username) String username); }定义控制器通过feign接口调用远程的服务提供者 RestController RequestMapping(/consumer) public class ConsumerController { Autowired private ProviderClient providerClient; GetMapping(/{name}) public String test(PathVariable String name){ String res providerClient.sayHello(name); return res; } }测试 负载均衡策略配置 LB中提供了三种负载均衡策略同时提供接口允许用户自定义扩展 1、定义配置类 public class FeignClientConfiguration { Bean public ReactorLoadBalancer reactorServiceInstanceLoadBalancer(ObjectProvider serviceInstanceListSuppliers, Environment environment) { String name environment.getProperty(LoadBalancerClientFactory.PROPERTY_NAME); return new RandomLoadBalancer(serviceInstanceListSuppliers, name); } }2、可以全局或者局部配置使用设置的负载均衡策略 EnableFeignClients(defaultConfiguration FeignClientConfiguration.class) EnableDiscoveryClient SpringBootApplication public class Consumer3Application { public static void main(String[] args) { SpringApplication.run(Consumer3Application.class, args); } }局部配置 如果通过使用OpenFeign访问远程的服务提供者则可以配置由于网络、连接、读取等问题出现访问失 败时自动执行重试处理 1、首先定义配置 public class FeignClientConfiguration { Bean public Retryer retryer(){ return new Retryer.Default(100, 1000, 2); //表示每间隔100ms最大间隔1000ms重试一次最大重试次数是1因为第三个参数包含了 第一次请求 } }2、可以在注解中进行全局配置和局部配置 全局配置 EnableFeignClients(defaultConfiguration FeignClientConfiguration.class) EnableDiscoveryClient SpringBootApplication public class Consumer3Application { public static void main(String[] args) { SpringApplication.run(Consumer3Application.class, args); } }局部配置 FeignClient(valueservice-provider,configuration FeignClientConfiguration.class) public interface ProviderClient { GetMapping(/users/hello) public String sayHello(RequestParam(username) String username); }服务降级配置 在使用注册中心时OpenFeign作为服务间通信的组件它本身集成了负载均衡能力、错误重试、日 志、服务熔断等机制同时也能够支持点对点的通信方式让开发者感觉更像是调用本地接口而不是 发起HTTP请求 具体的服务降级是依赖Sentinel组件实现的所以需要添加Sentinel依赖 1、添加依赖 dependency groupIdcom.alibaba.cloud/groupId artifactIdspring-cloud-starter-alibaba-sentinel/artifactId /dependency2、开启服务熔断配置application.properties feign.circuitbreaker.enabledtrue 13、定义对应的Fallback Factory实现 Component public class ProviderClientFallbackFactory implements FallbackFactoryProviderClient { Override public ProviderClient create(Throwable cause) { return new ProviderClient() { Override public String sayHello(String username) { return cause.getMessage(); } }; } }4、配置使用Fallback降级处理 FeignClient(valueservice-provider,fallbackFactory ProviderClientFallbackFactory.class) public interface ProviderClient { GetMapping(/users/hello) public String sayHello(RequestParam(username) String username); }
- 上一篇: 网站在线演示怎么形容网站做的很好
- 下一篇: 网站在线支付功能榆中县城乡建设局网站
相关文章
-
网站在线演示怎么形容网站做的很好
网站在线演示怎么形容网站做的很好
- 技术栈
- 2026年03月21日
-
网站在线问答怎么做wordpress title设置
网站在线问答怎么做wordpress title设置
- 技术栈
- 2026年03月21日
-
网站在线生成appwordpress win8
网站在线生成appwordpress win8
- 技术栈
- 2026年03月21日
-
网站在线支付功能榆中县城乡建设局网站
网站在线支付功能榆中县城乡建设局网站
- 技术栈
- 2026年03月21日
-
网站怎么搬家到快云vps里面去啊那个网站做搬家推广比较好
网站怎么搬家到快云vps里面去啊那个网站做搬家推广比较好
- 技术栈
- 2026年03月21日
-
网站怎么办上海网页制作与网站设
网站怎么办上海网页制作与网站设
- 技术栈
- 2026年03月21日

