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

专题网站建设解决方案大数据培训机构排名前十

专题网站建设解决方案,大数据培训机构排名前十,手机网站登陆模板,门户网站的特点和优势文章目录 前言角色#xff08;三个#xff09; 工程说明基础运行环境工程目录说明启动顺序#xff08;建议#xff09;#xff1a;运行效果注册与发现中心服务消费者#xff1a; 代码说明服务注册中心#xff08;Register Service#xff09;服务提供者#xff08;Pro… 文章目录 前言角色三个 工程说明基础运行环境工程目录说明启动顺序建议运行效果注册与发现中心服务消费者 代码说明服务注册中心Register Service服务提供者Provider Service服务消费者Consumer Service服务提供者SDKProvider Service sdk 负载均衡源码地址 前言 略 角色三个 服务注册中心Register Service Eureka Server提供注册和发现功能服务提供者Provider ServiceEureka Client将自己提供的服务注册到服务注册中心以供服务消费者发现和调用服务消费者Consumer ServiceEureka Client从服务注册中心获取服务列表 工程说明 基础运行环境 JDK: jdk-20.0.2spring cloud: 2022.0.4spring boot: 3.1.5工程目录说明 demo-springcloud-netflix-eureka 父工程 ├── demo-springcloud-netflix-eureka-consumer 服务消费者端口8000 ├── demo-springcloud-netflix-eureka-provider-impl1 服务提供者端口9001 ├── demo-springcloud-netflix-eureka-provider-impl2服务提供者端口9002 ├── demo-springcloud-netflix-eureka-provider-sdk服务端SDK ├── demo-springcloud-netflix-eureka-register1服务注册中心端口7001 └── demo-springcloud-netflix-eureka-register2服务注册中心端口7002注意 示例中为了方便看效果服务注册中心和服务提供者分别提供两个工程内部代码都一样只是端口不同。 启动顺序建议 demo-springcloud-netflix-eureka-register1 demo-springcloud-netflix-eureka-register2 demo-springcloud-netflix-eureka-provider-impl1 demo-springcloud-netflix-eureka-provider-impl2 demo-springcloud-netflix-eureka-consumer运行效果 注册与发现中心 http://localhost:7001 或 http://localhost:7002 服务消费者 访问这个地址将随机返回结果http://localhost:8000/main2?nameabc123 hello: abc123, Im 9001hello: abc123, Im 9002代码说明 服务注册中心Register Service demo-springcloud-netflix-eureka-register1端口7001 关键依赖pom.xml dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-server/artifactId /dependency关键配置application.properties spring.application.namedemo-springcloud-netflix-eureka-register server.port7001eureka.instance.hostname${spring.application.name} eureka.instance.instance-id${spring.application.name}:${server.port} eureka.instance.prefer-ip-addresstrue# 是否将自己注册到Eureka-Register中默认的为true单机设置为false集群设置为true eureka.client.register-with-eurekatrue# 是否从Eureka-Register中获取服务注册信息默认为true eureka.client.fetch-registryfalse# 这里是配置 eureka.client.service-url.defaultZonehttp://localhost:7001/eureka/,http://localhost:7002/eureka/# 测试时关闭自我保护机制保证不可用服务及时踢出 eureka.server.enable-self-preservationfalse启动类 SpringBootApplication EnableEurekaServer public class SpringCloudNetflixEurekaRegister1 {public static void main(String[] args) {SpringApplication.run(SpringCloudNetflixEurekaRegister1.class, args);} }demo-springcloud-netflix-eureka-register2端口7002 与demo-springcloud-netflix-eureka-register1代码完全一样只是application.properties中的server.port7002 spring.application.namedemo-springcloud-netflix-eureka-register server.port7002 ....服务提供者Provider Service demo-springcloud-netflix-eureka-provider-impl1端口9001 关键依赖pom.xml dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-client/artifactId /dependency关键配置application.properties spring.application.namedemo-springcloud-netflix-eureka-provider server.port9001eureka.instance.instance-id${spring.application.name}:${server.port} eureka.instance.prefer-ip-addresstrue# 每间隔2s向服务端发送一次心跳证明自己依然”存活“ eureka.instance.lease-renewal-interval-in-seconds2# 告诉服务端如果我10s之内没有给你发心跳就代表我“死”了将我踢出掉。 eureka.instance.lease-expiration-duration-in-seconds10# 是否将自己注册到Eureka-Register中默认的为true eureka.client.register-with-eurekatrue# 是否从Eureka-Server中获取服务注册信息默认为true eureka.client.fetch-registrytrue eureka.client.service-url.defaultZonehttp://localhost:7001/eureka/,http://localhost:7002/eureka/启动类 SpringBootApplication EnableDiscoveryClient public class SpringcloudNetflixEurekaProvider1 {public static void main(String[] args) {SpringApplication.run(SpringcloudNetflixEurekaProvider1.class, args);} }demo-springcloud-netflix-eureka-provider2端口9002 与demo-springcloud-netflix-eureka-provider1代码完全一样只是application.properties中的server.port9002 spring.application.namedemo-springcloud-netflix-eureka-provider server.port9002 ....服务消费者Consumer Service demo-springcloud-netflix-eureka-consumer端口8000 关键依赖pom.xml dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-client/artifactId /dependency关键配置application.properties spring.application.namedemo-springcloud-netflix-eureka-consumer server.port8000eureka.instance.instance-id${spring.application.name}:${server.port} eureka.instance.prefer-ip-addresstrue eureka.instance.app-group-namedemo-springcloud-eureka-client-a eureka.instance.lease-renewal-interval-in-seconds2# 是否将自己注册到Eureka-Server中默认的为true这里设置为false表示不注册不希望被别的服务发现 eureka.client.register-with-eurekafalse eureka.client.registry-fetch-interval-seconds2# 是否从Eureka-Server中获取服务注册信息默认为true eureka.client.fetch-registrytrue eureka.client.service-url.defaultZonehttp://localhost:7001/eureka/,http://localhost:7002/eureka/启动类 SpringBootApplication EnableDiscoveryClient public class SpringCloudNetflixEurekaConsumer {public static void main(String[] args) {SpringApplication.run(SpringCloudNetflixEurekaConsumer.class, args);} }服务提供者SDKProvider Service sdk 实际工作中该工程应该由服务提供者开发团队开发供服务消费者依赖调用来实现远程调用。本实例使用openfeign。 关键依赖pom.xml dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-openfeign/artifactId /dependency关键代码demo-springcloud-netflix-eureka-provider-sdk工程ProviderService类 // 接口无需手写实现类 Component FeignClient(name ProviderConstants.SERVICE_ID) public interface ProviderService {// 服务提供者需提供“/sub”接口服务RequestMapping(value /sub)String test(RequestParam(name) String name);// 其他服务.... }服务提供者依赖后使用demo-springcloud-netflix-eureka-provider-impl1工程 Service public class DemoService implements ProviderService {Autowiredprivate Environment env;public String test(String name) {return hello: name , Im env.getProperty(server.port);} }Controller public class DemoController {Autowiredprivate DemoService service;ResponseBodyRequestMapping(/sub)public String test(String name) {return service.test(name);} }服务消费者依赖后使用demo-springcloud-netflix-eureka-consumer工程 Autowired private ProviderService providerService;ResponseBody RequestMapping(/main2) public String main2(String name) {return providerService.test(name); }负载均衡 客户端负载demo-springcloud-netflix-eureka-consumer工程 Configuration(proxyBeanMethods false) public class CustomLoadBalancerConfig {BeanConditionalOnMissingBeanpublic ReactorLoadBalancerServiceInstance reactorServiceInstanceLoadBalancer(Environment environment,LoadBalancerClientFactory loadBalancerClientFactory) {var name ProviderConstants.SERVICE_ID;return new CustomLoadBalancer(loadBalancerClientFactory.getLazyProvider(name, ServiceInstanceListSupplier.class), name);} }// CustomLoadBalancer.javaprivate ResponseServiceInstance getInstanceResponse(ListServiceInstance instances) {if (instances.isEmpty()) {if (log.isWarnEnabled()) {log.warn(No servers available for service: serviceId);}return new EmptyResponse();}// 随机var index ThreadLocalRandom.current().nextInt(instances.size());var instance instances.get(index);return new DefaultResponse(instance);}源码地址 https://gitee.com/xiaojianhx/demo-springcloud-netflix-eureka
http://www.zqtcl.cn/news/954511/

相关文章:

  • 男生女生做污事网站免费西安企业展厅设计公司
  • 做网络写手最好进那个网站网页建站需要多少钱
  • 网站打开不对摄影设计说明200字
  • 无锡网站制作公司排名网站开发与应用 大作业作业
  • 网站建设中搜索引擎wordpress 不在首页显示文章
  • 先做网站先备案嘉兴网站建设推广
  • 建设法律法规文本查询网站Html手机浏览网站变形
  • 怎么拥有个人网站wordpress做的网站
  • wordpress建什么站江苏网站建设效果
  • 建设网站网站多少钱东莞网站建设 光龙
  • 天津和平做网站哪家好搞笑网站建设目的和意义
  • 一般做网站带宽选择多大的wordpress页面侧菜单
  • 海淀青岛网站建设友情链接适用网站
  • 青海建设厅官方网站资阳seo
  • 网站个人备案 企业备案深圳高端网站建设网页设计
  • 网站广东省备案国产最好的a级suv88814
  • 没有公司怎么做网站西安市市政建设网站
  • 北京网站制作net2006装饰网站建设策划书
  • 建立什么网站中小学图书馆网站建设
  • 襄阳网站建设外包任县附近网站建设价格
  • led灯网站建设案例有没有什么东西可以做网站
  • 网站可视化设计企业网络管理系统
  • 优惠券怎做网站南宁网站公司
  • 灌南县规划局网站理想嘉苑规划建设那些公司做网站好
  • 大型网站开发的主流语言wordpress 连接flickr
  • 制作一个网站流程怎样做网站运营
  • 可以完成交易的网站 做微信公众号电商网站开发
  • 上海市建设安全协会官方网站机械加工怎么找客户
  • 郑州驾校网站建设互联网公司可通过数据分析人们的哪些方面
  • 珠海杰作网站建设网络公司做一个关于电影的网页设计