wordpress左右主题,沧州seo推广,网络维护是做什么,天津建设工程招标信息网官网Java学习手册面试指南#xff1a;https://javaxiaobear.cn
Spring Cloud Zookeeper通过自动配置和绑定到 Spring 环境和其他 Spring 编程模型习惯用法#xff0c;为 Spring Boot 应用程序提供Apache Zookeeper集成。通过一些简单的注释#xff0c;您可以快速启用和配置应用…Java学习手册面试指南https://javaxiaobear.cn
Spring Cloud Zookeeper通过自动配置和绑定到 Spring 环境和其他 Spring 编程模型习惯用法为 Spring Boot 应用程序提供Apache Zookeeper集成。通过一些简单的注释您可以快速启用和配置应用程序内的常见模式并使用 Zookeeper 构建大型分布式系统。提供的模式包括服务发现和分布式配置。
特征
服务发现实例可以向 Zookeeper 注册客户端可以使用 Spring 管理的 bean 发现实例支持 Spring Cloud LoadBalancer - 客户端负载均衡解决方案支持Spring Cloud OpenFeign分布式配置使用Zookeeper作为数据存储
官方地址https://spring.io/projects/spring-cloud-zookeeper#lea 1、创建服务
创建名为spring-cloud-zookeeper项目
依赖如下
?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdcom.javaxiaobear/groupIdartifactIdjavaxiaobear-zookeeper/artifactIdversion1.0-SNAPSHOT/version/parentartifactIdspring-cloud-zookeeper/artifactIdpropertiesmaven.compiler.source8/maven.compiler.sourcemaven.compiler.target8/maven.compiler.targetproject.build.sourceEncodingUTF-8/project.build.sourceEncodingspring.cloud.version2023.0.0/spring.cloud.versionspring.boot.version3.2.1/spring.boot.version/propertiesdependencyManagementdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion${spring.boot.version}/version/dependencydependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-dependencies/artifactIdversion${spring.cloud.version}/versiontypepom/typescopeimport/scope/dependency/dependencies/dependencyManagement/project2、服务提供者
服务提供者名字为javaxiaobear-provider
1、添加依赖
?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion3.2.1/versionrelativePath/ !-- lookup parent from repository --/parentgroupIdcom.javaxiaobear/groupIdartifactIdjavaxiaobear-provider/artifactIdversion0.0.1-SNAPSHOT/versionnamejavaxiaobear-provider/namedescriptionjavaxiaobear-provider/descriptionpropertiesjava.version21/java.versionspring-cloud.version2023.0.0/spring-cloud.version/propertiesdependenciesdependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-zookeeper-discovery/artifactId/dependency!-- spring boot web 依赖 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!-- lombok 依赖 --dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdscopeprovided/scope/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency/dependenciesdependencyManagementdependenciesdependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-dependencies/artifactIdversion${spring-cloud.version}/versiontypepom/typescopeimport/scope/dependency/dependencies/dependencyManagementbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build/project
2、配置文件application.yml
server:port: 8080 #端口spring:application:name: product-service # 服务名称# ZooKeeper 配置cloud:zookeeper:discovery:enabled: true # ?????? ZooKeeper ????????????? false ??connect-string: ip:21813、服务代码
1、实体类
Data
AllArgsConstructor
NoArgsConstructor
public class Product {private Integer id;private String productName;private Integer productNum;private Double productPrice;
}2、服务接口
public interface ProviderService {/*** 查询商品列表** return*/ListProduct selectProductList();
}3、服务实现类
Slf4j
Service
public class ProviderServiceImpl implements ProviderService {Overridepublic ListProduct selectProductList() {log.info(商品服务查询商品信息...);return Arrays.asList(new Product(1, 小米手机, 1, 5800D),new Product(2, 小熊面试手册, 1, 68.88D),new Product(3, 小熊笔记, 5, 20.20D));}
}4、控制层
RestController
public class ProviderController {Autowiredprivate ProviderService providerService;GetMapping(/list)public ListProduct selectList(){return providerService.selectProductList();}
}3、服务消费者
服务提供者名字为 javaxiaobear-consumer
1、添加依赖
依赖和提供者一样
2、添加配置文件
server:port: 9090 # ??spring:application:name: consumer-service # ????# ?? ZooKeeper ????cloud:zookeeper:discovery:enabled: true # ?????? ZooKeeper ????????????? false ??connect-string: ip:21813、服务代码
1、控制层
RestController
RequestMapping(/consumer)
public class ConsumerController {Autowiredprivate DiscoveryClient discoveryClient;GetMapping(/go)public void order() {//调用提供者服务ListServiceInstance providerServer discoveryClient.getInstances(product-service);if (0 providerServer.size()) {return;}ServiceInstance serviceInstance providerServer.get(0);System.out.print(serviceInstance.getUri() --- );//获取接口路径String url serviceInstance.getUri() /list;RestTemplate restTemplate new RestTemplate();//调用接口String str restTemplate.getForObject(url, String.class);System.out.println(str);}}4、测试
访问路径http://localhost:9090/consumer/go