springcloud+zookeeper架构搭建

zookeeper安装配置自行百度。

zookeeper可视化工具zkui配置自行百度。

springcloud微服务架构最大的特点就是restful,他让微服务之间的通信通过restful实现,编写微服务就像编写普通的controller一样简单。当你想要向外界提供一个为服务时,只不过是简单的暴露一个restful接口,和传统的SpringMVC开发基本没有区别,大大降低了学习成本,让这套架构更容易理解。同时现在的springcloud支持feign,当需要消费为服务时只需要在本地编写一个接口,用注解标明需要访问的微服务提供者,然后就像普通地访问一个restful接口一样访问一个微服务。

配置:

在你需要启动微服务的模块下面,和application.yml平级目录建立bootstrap.yml,可以说application.yml是springboot项目的专用配置,而bootstrap.yml是springcloud+zookeeper的专用配置,bootstrap.yml的启动优先级是优于application.yml的。

spring:
application:
name: goods-service #微服务名
cloud:
zookeeper:
connect-string: 192.168.2.157:2181 #zookeeper服务器地址,改成你自己的
discovery:
enabled: true #是否启用zookeeper
register: true #是否注册微服务


这些就是bootstrap.yml中的内容。

微服务提供者配置:
在启动类加上@EnableDiscoveryClient就行了,没别的东西
@RestController
public class HelloMS {
@GetMapping("/ms/hello/{id}")
public String hello(@PathVariable long id){
return String.valueOf(id);
}
}
 
@FeignClient(value = "hello-ms")
public interface HelloFeign {

@GetMapping("/ms/hello/{id}")
String getHello(@PathVariable long id);
}



定义好消费者类之后,需要使用的时候只需要@Autowired一下即可使用
 
@EnableFeignClients("com.yongbang.b2b.server")
@EnableDiscoveryClient
@SpringBootApplication
public class Bootstrap {

public static void main(String[] args) {
SpringApplication.run(Bootstrap.class, args);
}

}

猜你喜欢

转载自www.cnblogs.com/nocyan/p/11655960.html