装う説明:
消費者は、伝統的なインターフェイス指向プログラミングの装うコンポーネント技術SpringCloudマイクロサービスによってユーレカのサービスコールマイクロインスタンスに行くことができます。
消費者のモジュールを作成します:
pom.xml追加Webクライアント座標ユーレカは装う座標座標
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-feign</artifactId>
</dependency>
application.properties設定ユーレカアドレスとマイクロサービスアプリケーションインスタンスの名前
server.port=8081
#此module不进行注册
eureka.client.register-with-eureka=false
eureka.client.service-url.defaultZone=http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/
#自定义配置
#要消费的微服务实例的应用名称
provided_url=SERVICE
マイクロ装うコールサービスインスタンスを使用して、サービス層、
/**
* DESC : 通过Fegin调用微服务实例,实现传统的面向接口编程
* @author Lonely
*
*/
@FeignClient(value = "${provided_url}") //Eureka注册中心的微服务实例应用名称
public interface TestService {
//对应微服务实例中的接口路径
@RequestMapping(value="/testcontroller.do/{id}/{name}",method=RequestMethod.GET)
public String testController(@PathVariable("id") int id,@PathVariable("name") String name);
}
コントローラ層はサービス層を呼び出します
@Controller
public class TestController {
@Autowired
private TestService testService; //调用Service层
@RequestMapping(value="/testConsume.do/{id}/{name}",method=RequestMethod.GET)
@ResponseBody
public String test(@PathVariable("id") int id,@PathVariable("name") String name) {
return testService.testController(id, name);
}
}
スタートクラスは、注釈装うスキャンユーレカクライアントのメモを追加します
@SpringBootApplication
@EnableEurekaClient
@EnableFeignClients(basePackages = "online.liema.service") //扫描使用 @FeignClient 注解的Service层
public class FeignApp {
public static void main(String[] args) {
SpringApplication.run(FeignApp.class, args);
}
}
最初のターンは3ユーレカを開始し、今度はマイクロサービスインスタンスを有効にし、最終的に装うモジュール、アクセスコントローラを起動します。装うは、負荷バランス、デフォルトのポーリングアルゴリズムになります。