springcloud----注册中心-- 之---Zookeeper

zookeeper地址:https://cloud.spring.io/spring-cloud-static/spring-cloud-zookeeper/2.2.1.RELEASE/reference/html/

自行搭建zookeeper

搭建-服务端

1、模块名 cloud-provider-payment8004
2、pml.xml (web、actuator 未列出)
<dependency>
   <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-zookeeper-discovery</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<!--zookeeper 版本冲突  但是日志 会参数冲突  因此需要排除此依赖-->
<dependency>
    <groupId>org.apache.zookeeper</groupId>
    <artifactId>zookeeper</artifactId>
    <version>3.4.8</version>
    <exclusions>
        <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
        </exclusion>
    </exclusions>
</dependency>
3、yml 配置文件
server:
  port: 8004



spring:
  application:
    name: cloud-provider-payment
  cloud:
    zookeeper:
    #服务名注册到 zookeeper 注册中心
      connect-string: 66.88.88.169:2181
4、主启动
@SpringBootApplication
@EnableDiscoveryClient
public class PaymentMain8004 {
    public static void main(String[] args){
        SpringApplication.run(PaymentMain8004.class,args) ;
    }
}
@RestController
public class PaymentController {
    @Value("${server.port}")
    private String serverPort ;

    @RequestMapping("/payment/zk")
    public String paymentzk(){
        return "zookeeper : " + serverPort + "\t" + UUID.randomUUID().toString() ;
    }
}
5、测试

搭建-消费端

1、cloud-consumerzk-order80
2、pml.xml(同服务端)
3、yml 配置文件
server:
  port: 80
spring:
  application:
    name: cloud-consumer-order
  cloud:
    zookeeper:
      connect-string: 66.88.88.169:2181
4、主启动
@SpringBootApplication
@EnableDiscoveryClient
public class OrderZkMain80 {
    public static void main(String[] args){
        SpringApplication.run(OrderZkMain80.class,args) ;
    }
}
@RestController
public class OrderController {

    @Autowired
    private RestTemplate restTemplate;

    @Value("${server.port}")
    private String serverPort;
    private static final String INVOKE_URL = "http://cloud-provider-payment";
    
    @RequestMapping("/consumer/payment/zk")
    public String paymentInfo() {
        String result = restTemplate.getForObject(INVOKE_URL + "/payment/zk", String.class);
        return result;
    }
}
@Configuration
public class ApplicationContextConfig {

    @Bean
    @LoadBalanced // 其支持负载均衡
    public RestTemplate getRestTemplate(){
        return  new RestTemplate() ;
    }
    
}
5、测试

总结:
zookeeper: 采用临时节点 , cp ,数据一致、分区容错

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值