SpringCloudAlibaba-1-nacos服务注册与发现

组件说明

1. 服务注册与发现:适配Spring Cloud服务注册与发现标准,默认集成了Ribbon的支持

2. 服务限流降级:默认支持servletFeign、RestTemplate、Dubbo和RocketMQ限流降级接入,可以在运行时通过控制台实时修改限流配置规则,还支持查看限流降级Metrics监控。  

3. 分布式配置管理:支持分布式系统中的外部化配置,配置更改时自动刷新。  

4. 消息驱动能力:基于Spring Cloud Stream 为微服务应用构建消息驱动能力。  

5. 分布式事务:使用@GlobalTransactional注解,高效并且对业务零侵入地解决分布式事务问题。

6. 阿里云对象存储:阿里提供海量、安全、低成本、高可靠的云存储服务。支持在任何应用、任何时间、任何地点存储和访问任意类型的数据。  

7. 分布式任务调度:提供秒级、精准、高可靠、高可用的定时(基于Cron表达式) 任务调度服务。同时提供分布式的任务执行模型,如网格任务。网格任务支持海量子任务均匀分配到所有Worker(schedulerx-client)上执行。  

8. 阿里云短信服务:覆盖全球的短信服务,友好、高效、智能的互联化通讯能力,帮助企业迅速搭建客户触达通道。

nacos

nacos=eureka+Spring Cloud Config

1.下载运行nacos

下载地址:

https://github.com/alibaba/na…

也可参考: https://nacos.io/en-us/docs/q…

SpringCloudAlibaba-1-nacos服务注册与发现

2.服务注册与发现实例

SpringCloudAlibaba-1-nacos服务注册与发现

运行3个实例:8050、8051注册到nacos上面

2.1创建父工程

1.创建工程

SpringCloudAlibaba-1-nacos服务注册与发现

SpringCloudAlibaba-1-nacos服务注册与发现

SpringCloudAlibaba-1-nacos服务注册与发现

2.修改pom.xml

SpringCloudAlibaba-1-nacos服务注册与发现

2.2 创建consumer工程

SpringCloudAlibaba-1-nacos服务注册与发现

SpringCloudAlibaba-1-nacos服务注册与发现

添加相关依赖

SpringCloudAlibaba-1-nacos服务注册与发现

<!--依赖版本定义-->  
    <dependencyManagement>  
        <dependencies>  
            <dependency>  
                <groupId>org.springframework.cloud</groupId>  
                <artifactId>spring-cloud-dependencies</artifactId>  
                <version>Greenwich.RELEASE</version>  
                <type>pom</type>  
                <scope>import</scope>  
            </dependency>  
            <dependency>  
                <groupId>org.springframework.cloud</groupId>  
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>  
                <version>0.2.1.RELEASE</version>  
                <type>pom</type>  
                <scope>import</scope>  
            </dependency>  
        </dependencies>  
    </dependencyManagement>

再次添加:

<dependency>  
    <groupId>org.springframework.cloud</groupId>  
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>  
</dependency>

添加Application服务发现客户端

@EnableDiscoveryClient  
@SpringBootApplication  
public class NacosDiscoveryConsumerApplication {  
    public static void main(String/[/] args) {  
        SpringApplication.run(NacosDiscoveryConsumerApplication.class, args);  
    }  
}

application.yml

spring:  
  application:  
    name: nacos-discovery-consumer  
  cloud:  
    nacos:  
      discovery:  
        server-addr: 127.0.0.1:8848  
server:  
  port: 8050

先启动nacos

https://nacos.io/en-us/docs/q…

然后输入: http://127.0.0.1 :8848/nacos/  

查看服务列表:

SpringCloudAlibaba-1-nacos服务注册与发现

2.3 创建provider工程

类似的我们创建nacos-discovery-provider工程,并添加对应配置

SpringCloudAlibaba-1-nacos服务注册与发现

2.4  让consumer去调用provider

1. 1.provider创建HelloController

@RestController  
public class HelloController {  
    @GetMapping("/hello")  
    public String hello(String name){  
        return "Hello "+name;  
    }  
}

2. 2.provider创建HelloController

@RestController  
public class TestController {  
    @Autowired  
    private RestTemplate restTemplate;  
    @Autowired  
    private LoadBalancerClient loadBalancerClient;  
    @GetMapping("/test")  
    public String test(String name){  
        ServiceInstance serviceInstance = loadBalancerClient.choose("nacos-discovery-provider");  
        URI uri = serviceInstance.getUri();  
        return restTemplate.getForObject(uri+"/hello?name="+name, String.class);  
    }  
}  
//NacosDiscoveryConsumerApplication注入:RestTemplate    
@EnableDiscoveryClient  
@SpringBootApplication  
public class NacosDiscoveryConsumerApplication {  
    public static void main(String/[/] args) {  
        SpringApplication.run(NacosDiscoveryConsumerApplication.class, args);  
    }  
    @Bean  
    public RestTemplate restTemplate(){  
        return new RestTemplate();  
    }  
}

3.测试

http://127.0.0.1 :8050/test?name=qaws  

结果返回:  

Hello qaws

原文 

https://segmentfault.com/a/1190000022134710

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » SpringCloudAlibaba-1-nacos服务注册与发现

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址