Spring Cloud 简单入门教程 之 Ribbon (四)

有了服务注册中心,并且有了服务生产者或者说服务提供者在注册中心注册了服务,这时就可以使用服务了。
为了模拟分布式,新构建一个服务提供者,端口号是8673,启动服务注册中心,启动两个服务。
IJ IDEA File->New->Project->Spring ->initializr,
Spring Cloud 简单入门教程 之 Ribbon (四)_第1张图片
填写好名称等,Finish.
构建好的项目的目录结构和一个新构建好的Spring Boot目录结构一样。
pom 文件如下:



	4.0.0

	com.service-ribbon
	service-ribbon
	0.0.1-SNAPSHOT
	jar

	service-ribbon
	Demo project for Spring Boot

	
		org.springframework.boot
		spring-boot-starter-parent
		1.5.8.RELEASE
		 
	

	
		UTF-8
		UTF-8
		1.8
		Dalston.SR4
	

	

		
			org.springframework.cloud
			spring-cloud-starter-ribbon
		

		
			org.springframework.boot
			spring-boot-starter-test
			test
		

		
			org.springframework.cloud
			spring-cloud-starter-eureka
		

		
			org.springframework.boot
			spring-boot-starter-web
		

	

	
		
			
				org.springframework.cloud
				spring-cloud-dependencies
				Dalston.SR4
				pom
				import
			
		
	

	
		
			
				org.springframework.boot
				spring-boot-maven-plugin
			
		
	

	
		
			spring-milestones
			Spring Milestones
			https://repo.spring.io/milestone
		

		
			repository.springframework.maven.snapshot
			Spring Framework Maven Snapshot Repository
			http://repo.spring.io/snapshot/
		

	



启动类如下:

/**
 * @author DELL
 */
@SpringBootApplication
@EnableDiscoveryClient
public class ServiceRibbonApplication {

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

	@Bean
	@LoadBalanced
	RestTemplate restTemplate() {
		return new RestTemplate();
	}
}

启动类上加注解@EnableDiscoveryClient
新建一个Service

/**
 * @author DELL
 */
@Service
public class HelloService {
    @Autowired
    RestTemplate restTemplate;

    public String hiService(String name) {
        return restTemplate.getForObject("http://SERVICE-HI/hi?name="+name,String.class);
    }

}

新建一个Controller

@Controller
public class HelloController {
    @Autowired
    HelloService helloService;
    @RequestMapping(value = "/hi")
    @ResponseBody
    public String hi(@RequestParam String name){
        return helloService.hiService(name);
    }
}

SERVICE-HI是服务提供者的名字(spring.application.name: service-hi)
启动服务消费者。
浏览器访问http://localhost:8761/
Spring Cloud 简单入门教程 之 Ribbon (四)_第2张图片
有两个服务提供者和一个服务消费者注册到可注册中心。服务消费者默认也会注册到注册中心,既也是服务提供者,也可以通过配置使其不注册到注册中心。具体见官方网站。
浏览器访问 http://localhost:8764/hi?name=woshijun
Spring Cloud 简单入门教程 之 Ribbon (四)_第3张图片
多次访问,端口号会在8762和8763之间交替出现,说明此时服务消费者消费到了服务,并且是消费的不同提供者提供的服务。模拟了一个小小的集群。

各种IT书籍书目及下载链接
https://blog.csdn.net/dh1027/article/details/89327978

你可能感兴趣的:(学习笔记,java,开发,SpringCloud)