外观
springcloud
400字约1分钟
2020-09-06
搭建
空maven项目
创建完成删除src注册中心
Eureka注册中心
1.创建module 2.添加依赖 Eureka Discovery、Eureka Server 3.启动类添加 @EnableEurekaServer 4.配置yml server: port: 8801 eureka: instance: hostname: localhost client: registerWithEureka: false fetchRegistry: false serviceUrl: defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ 5.测试 localhost:8801Zookeeper注册中心
服务提供
rest+ribbon
1.创建module 2.添加依赖 Eureka Discovery、Eureka Server、Ribbon 3.启动类添加 @SpringBootApplication @EnableDiscoveryClient @ComponentScan public class RibbonConsumerApplication { public static void main(String[] args) { SpringApplication.run(RibbonConsumerApplication.class, args); } @Bean @Autowired @LoadBalanced RestTemplate getRestTemplate() { return new RestTemplate(); } } 4.创建测试服务 @Service public class HelloService { public String sayHello(){ return "helloWorld"; // 提供一个hello World } } @RestController public class HelloController { @Autowired private HelloService helloService; @GetMapping("/hello") public String sayHello(String name){ return helloService.sayHello() + " " + name; } } 5. 配置yml eureka: client: serviceUrl: defaultZone: http://localhost:8801/eureka/ server: port: 8802 spring: application: name: ribbon-provider 6.测试 localhost:8802/hello?name=zhangtaifeng服务消费
rest+ribbon消费
@Service public class HelloService { @Autowired RestTemplate restTemplate; public String sayHello(){ return restTemplate.getForObject("http://ribbon-provider/hello?name=jc2", String.class); } }Feign消费
1.创建module 2.添加依赖 Eureka Discovery、Eureka Server、Feign 3.启动类添加 注册服务 -- @EnableDiscoveryClient 注入Fegin -- @EnableFeignClients 4.创建测试服务 @FeignClient(value = "ribbon-consumer") public interface GetHello { @RequestMapping(value = "/hello?name=feign", method = RequestMethod.GET) public String sayHello(); } @Service public class HelloService { @Autowired GetHello getHello; public String sayHello(){ return getHello.sayHello(); } } @RestController public class HelloController { @Autowired private HelloService helloService; @GetMapping("/hello") public String sayHello(String name){ return helloService.sayHello() + " " + name; } } 5. 配置yml eureka: client: serviceUrl: defaultZone: http://localhost:8801/eureka/ server: port: 8802 spring: application: name: ribbon-provider 6.测试 localhost:8802/hello?name=zhangtaifeng说明
服务发现Eureka
云端负载Ribbon
HTTP客户端Feign
熔断器Hystrix
动态路由Zuul
消息总线Spring Cloud Bus
日志收集Spring Cloud Sleuth
安全工具包Spring Cloud OAuth2
