当前位置: 首页 > 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.pierceye.com/news/954511/

相关文章:

  • wordpress博客网站深圳建工集团
  • 罗永浩做的网站房产网站设计方案
  • 创建个人网站多少钱模板速成网站
  • 晋江做网站的公司哪家好企业网站报价
  • 百度权重查询网站旅游公司的网站怎么做
  • 品牌网站建设小蝌蚪2a西安中交建设集团网站
  • 潍坊网页网站制作优畅 wordpress
  • 搜狗收录网站网站制作费用预算表
  • dede网站安全长沙营销型
  • 那些做电影视频网站的赚钱吗邯郸网站建设方案
  • 在线做app的网站wordpress 产品分类
  • seo网站建设规划网站模板视频教程
  • 沈阳网站制作策划wordpress 文章页调用
  • 网站开发和网络工程师方法网站目录
  • 用dw做网站的好处网页美工培训中心
  • 中文域名注册 .网站网站英文地图怎么做
  • 汽车行业网站建设维护服务wordpress改投票系统
  • 网站快照长期不更新wordpress 顶部高度
  • 雨颜色网站建设电器类网站设计
  • 网站建设模块化实现企业网站建设范文
  • 网站培训班有哪些课程中国工程建设标准化协会官方网站
  • 医院网站建设 费用做商业网站
  • 网站设计考虑因素wordpress录入表单写数据库
  • 个人博客网站设计网站优化方式有哪些
  • 网站建设文化教程网站开发建设成本
  • 洛阳做网站公司汉狮价格wordpress移动端悬浮导航
  • 免费网站的代码wordpress给分类添加自定义栏目
  • 网站建设额怎么自己做网站app
  • 长沙市网站推广电话兰州的互联网公司有哪些
  • 湖南网站设计亮点昆山高端网站设计公司