Nacos服务治理
- 引入
spring-cloud-starter-alibaba-nacos-discovery
依赖 - 程序入口写注解
@EnableDiscoveryClient
- application.yml写服务名,和服务中心地址:
spring:
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
application:
name: demomarket-coupon
Nacos统一配置管理
命名空间
配置有命名空间的概念,进行环境隔离,比如微服务间隔离,或者分成dev,pro啥的.
可在bootstrap.yaml里配置.
config:
cloud:
nacos:
config:
namespace: 命名空间UUID(不是写命名空间的名字)
以上信息均在bootstrap.yml里配置
配置集
所有配置的集合,配置集ID就是配置文件名
配置分组
比如结合业务场景进行不同配置:如高负荷下用啥配置,平常用啥配置.
Feign 远程调用
主要是在消费者端,新建一个feign包专门容纳接口.实例:
这里的RequestMapping是服务提供者暴露的api
@FeignClient("demomarket-coupon")
public interface CouponFeignService {
@RequestMapping("/coupon/coupon/member/list")
public R memberCoupons();
}
在消费者端程序入口,标记feign接口地址:
@SpringBootApplication
@MapperScan("com.learn.demomarket.member.dao")
@EnableDiscoveryClient
@EnableFeignClients(basePackages = "com.learn.demomarket.member.feign")
public class DemomarketMemberApplication {
public static void main(String[] args) {
SpringApplication.run(DemomarketMemberApplication.class, args);
}
}