美文网首页
SpringCloud-eureka-02服务发现

SpringCloud-eureka-02服务发现

作者: 天的安排 | 来源:发表于2019-07-10 18:56 被阅读0次

consumer端的配置文件

#修改server port
server.port=9001
# 连接池的配置信息
# 初始化大小,最小,最大
spring.datasource.druid.driver-class-name=com.mysql.cj.jdbc.Driver
#这个配置当filter中没有设置wall的时候,启动是ok的,反之则报错,谨记谨记!
#spring.datasource.druid.db-type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.druid.db-type=mysql
spring.datasource.druid.url=jdbc:mysql://192.168.200.245:2060/ltttest?useUnicode=true&characterEncoding=gbk&zeroDateTimeBehavior=convertToNull
spring.datasource.druid.username=root
spring.datasource.druid.password=&i5Sb_oV<>km

#====================================eureka配置=========================================
spring.application.name=eureka-client-9001
# 指定eureka server通信地址,注意/eureka/不能少
eureka.client.service-url.defaultZone=http://localhost:10002/eureka/
# 是否注册IP到eureka server,如不指定或设为false,那就会注册主机名到eureka server
eureka.instance.prefer-ip-address=true

启动类上注意加上注解@EnableDiscoveryClient

@SpringBootApplication(exclude= {DataSourceAutoConfiguration.class})
@EnableDiscoveryClient
//@EnableEurekaClient
public class ApplicationConsumer001 {
    private static Logger logger = Logger.getLogger(ApplicationConsumer001.class);

    /**
     * Start
     */
    public static void main(String[] args) {
        SpringApplication.run(ApplicationConsumer001.class, args);
//        logger.info("SpringBoot Start Success");
    }

}

配置bean

@Configuration
public class ConfigBean {
    @Bean
//    @LoadBalanced
    public RestTemplate restTemplate() {
        return new RestTemplate();
    }
}

服务发现,首先依赖公共的model,其次使用DiscoveryClient获取uri,最后使用RestTemplate调用

@Controller
@RequestMapping("/consumer001")
public class UserConsumerController {

    private Logger logger = Logger.getLogger(UserConsumerController.class);

    @Autowired
    private RestTemplate restTemplate;

    @Autowired
    private DiscoveryClient discoveryClient;

    @RequestMapping("/getUserInfo")
    @ResponseBody
    public List<User> getUserInfo() {
        System.out.println("_______________*********"+serviceUrl());
        return  restTemplate.postForObject(serviceUrl() +"/getUserInfo",null,List.class);
    }

    public String serviceUrl(){
        List<ServiceInstance> list = discoveryClient.getInstances("SPRINGBOOT-MYBATIS-PROVIDER-001");
        if (list != null && list.size() >0 ){
            return String.valueOf(list.get(0).getUri());
        }
        return null;
    }
}

结果如下图:

相关文章

  • SpringCloud-eureka-02服务发现

    consumer端的配置文件 启动类上注意加上注解@EnableDiscoveryClient 配置bean 服务...

  • 服务发现:服务端服务发现

    背景 服务通常需要调用其他服务。单体应用中,服务通过语言级别的方法或者过程调用另外的服务。在传统的分布式部署中,服...

  • 服务发现

    参考资料

  • 服务发现

    服务发现 服务发现就是想要了解集群中是否有进程在监听udp或tcp端口,并且通过名字就可以进行查找和连接 解决服务...

  • 服务发现

    一、什么是服务发现 在传统的系统部署中,服务运行在一个固定的已知的 IP 和端口上,如果一个服务需要调用另外一个服...

  • 服务发现

    参考资料http://dockone.io/article/667 (Zookeeper vs etcd vs C...

  • 服务发现

    参考老钱 服务发现的基本原理服务发现聊聊 Node.js RPC(二)— 服务发现 在传统的系统部署中,服务运行在...

  • 服务发现:客户端服务发现

    背景 服务通常需要调用其他服务。单体应用中,服务通过语言级别的方法或者过程调用另外的服务。在传统的分布式部署中,服...

  • 服务发现:服务注册中心

    背景 服务的客户端采用客户端服务发现或者服务端服务发现来确定发送请求的实例地址。 问题 客户端服务发现 里的客户端...

  • 微服务设计——服务发现

    微服务设计——服务发现 导语 在分布式微服务架构中,一个应用可能由一组职责单一化的服务组成。这时候就需要一个注册服...

网友评论

      本文标题:SpringCloud-eureka-02服务发现

      本文链接:https://www.haomeiwen.com/subject/aiktkctx.html