ce7d5232cc6b4945b78b6011b79e9af0936d2530
\345\210\206\345\270\203\345\274\217\347\263\273\347\273\237\346\236\266\346\236\204\346\226\271\346\241\210\350\256\276\350\256\241\345\210\235\347\250\277.md
... | ... | @@ -250,6 +250,37 @@ public class ReverseProxyServlet extends HttpServlet { |
250 | 250 | } |
251 | 251 | |
252 | 252 | ``` |
253 | +自定义服务注册与发现功能 |
|
254 | +```java |
|
255 | +import java.util.ArrayList; |
|
256 | +import java.util.List; |
|
257 | +import java.util.Random; |
|
258 | + |
|
259 | +public class ServiceRegistry { |
|
260 | + private final List<String> services = new ArrayList<>(); |
|
261 | + private final Random random = new Random(); |
|
262 | + |
|
263 | + public void register(String serviceUrl) { |
|
264 | + services.add(serviceUrl); |
|
265 | + } |
|
266 | + |
|
267 | + public void deregister(String serviceUrl) { |
|
268 | + services.remove(serviceUrl); |
|
269 | + } |
|
270 | + |
|
271 | + public String getRandomService() { |
|
272 | + if (services.isEmpty()) { |
|
273 | + throw new IllegalStateException("No registered services"); |
|
274 | + } |
|
275 | + return services.get(random.nextInt(services.size())); |
|
276 | + } |
|
277 | + |
|
278 | + public List<String> getAllServices() { |
|
279 | + return new ArrayList<>(services); |
|
280 | + } |
|
281 | +} |
|
282 | + |
|
283 | +``` |
|
253 | 284 | |
254 | 285 | #### 2.2 MySQL 维护app和容器服务的关系 |
255 | 286 |