“Ribbon 代码使用”的版本间的差异
跳到导航
跳到搜索
Jihongchang(讨论 | 贡献) (建立内容为“https://www.bilibili.com/video/BV1AN411Z7mx/?p=5”的新页面) |
Jihongchang(讨论 | 贡献) |
||
| (未显示同一用户的2个中间版本) | |||
| 第1行: | 第1行: | ||
https://www.bilibili.com/video/BV1AN411Z7mx/?p=5 | https://www.bilibili.com/video/BV1AN411Z7mx/?p=5 | ||
| + | |||
| + | === ClientService.java === | ||
| + | <syntaxhighlight lang="java"> | ||
| + | package io.github.jihch.service; | ||
| + | |||
| + | public interface ClientService { | ||
| + | |||
| + | String client(); | ||
| + | |||
| + | } | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | === ClientServiceImpl.java === | ||
| + | <syntaxhighlight lang="java"> | ||
| + | package io.github.jihch.service.impl; | ||
| + | |||
| + | import io.github.jihch.service.ClientService; | ||
| + | import org.springframework.beans.factory.annotation.Autowired; | ||
| + | import org.springframework.cloud.client.ServiceInstance; | ||
| + | import org.springframework.cloud.client.loadbalancer.LoadBalancerClient; | ||
| + | import org.springframework.stereotype.Service; | ||
| + | |||
| + | @Service | ||
| + | public class ClientServiceImpl implements ClientService { | ||
| + | |||
| + | // Ribbon 的负载均衡工具。使用这个对象的时候可以使用 Ribbon 的功能 | ||
| + | @Autowired | ||
| + | private LoadBalancerClient loadBalancerClient; | ||
| + | |||
| + | @Override | ||
| + | public String client() { | ||
| + | //通过 Ribbon 负载均衡算法之后得到的 URL 实例 | ||
| + | ServiceInstance si = loadBalancerClient.choose("myproject"); | ||
| + | System.out.printf("getUri:%s\n", si.getUri()); | ||
| + | System.out.printf("getHost:%s\n", si.getHost()); | ||
| + | System.out.printf("getInstanceId:%s\n", si.getInstanceId()); | ||
| + | System.out.printf("getMetadata:%s\n", si.getMetadata()); | ||
| + | System.out.printf("getPort:%s\n", si.getPort()); | ||
| + | System.out.printf("getScheme:%s\n", si.getScheme()); | ||
| + | System.out.printf("getServiceId:%s\n", si.getServiceId()); | ||
| + | |||
| + | return null; | ||
| + | } | ||
| + | } | ||
| + | </syntaxhighlight>Eureka Server | ||
| + | |||
| + | https://github.com/jihch/eureka-server-20230323 | ||
| + | |||
| + | Application Service | ||
| + | |||
| + | https://github.com/jihch/application-service-demo | ||
| + | |||
| + | Application Client | ||
| + | |||
| + | https://github.com/jihch/application-client | ||
2023年3月26日 (日) 04:49的最新版本
https://www.bilibili.com/video/BV1AN411Z7mx/?p=5
ClientService.java
package io.github.jihch.service;
public interface ClientService {
String client();
}
ClientServiceImpl.java
package io.github.jihch.service.impl;
import io.github.jihch.service.ClientService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.client.ServiceInstance;
import org.springframework.cloud.client.loadbalancer.LoadBalancerClient;
import org.springframework.stereotype.Service;
@Service
public class ClientServiceImpl implements ClientService {
// Ribbon 的负载均衡工具。使用这个对象的时候可以使用 Ribbon 的功能
@Autowired
private LoadBalancerClient loadBalancerClient;
@Override
public String client() {
//通过 Ribbon 负载均衡算法之后得到的 URL 实例
ServiceInstance si = loadBalancerClient.choose("myproject");
System.out.printf("getUri:%s\n", si.getUri());
System.out.printf("getHost:%s\n", si.getHost());
System.out.printf("getInstanceId:%s\n", si.getInstanceId());
System.out.printf("getMetadata:%s\n", si.getMetadata());
System.out.printf("getPort:%s\n", si.getPort());
System.out.printf("getScheme:%s\n", si.getScheme());
System.out.printf("getServiceId:%s\n", si.getServiceId());
return null;
}
}
Eureka Server
https://github.com/jihch/eureka-server-20230323
Application Service
https://github.com/jihch/application-service-demo
Application Client