
本文共 4555 字,大约阅读时间需要 15 分钟。
Ribbon���������������Spring Cloud���������������������������
Ribbon������������������
.Ribbon ������������Netflix ��������������������������������������������������������������������������� HTTP ��� TCP ��������������������������������������������������������������������������������������� Spring Cloud ������Ribbon ��������������������������������������������������������������������� RestTemplate ������������������������������
Ribbon������������������������������������
������������Ribbon ���������������������������(node) ��������������������������������������������������������������������� Nginx������������Ribbon ��������������������������������������� Nginx ������������������������������������������������������������������������������ Ribbon ������������������������������������������������������������������������������������������������ Eureka ��� Zookeeper������������
��� Spring Cloud ������Ribbon ��� RestTemplate ������������������������������������������������������ @LoadBalanced ���������RestTemplate ���������������������������������������������Ribbon ���������������������������������������������������������������
Ribbon������������������������������
��������������������������������������������������������� Ribbon ������������������������������
������������������������������������������������������
@Configurationpublic class BeanConfig { @LoadBalanced @Bean public RestTemplate restTemplate() { return new RestTemplate(); } @Bean public IRule iRule() { return new RetryRule(); }}
������������������ RetryRule ���������������������������������������������������������������
Ribbon������������������
Ribbon ������������������������������������������������������������
RoundRobinRule
������������������������������������������������������������������������������RandomRule
������������������������������������������������������������������������������AvailabilityFilteringRule
���������������������������������������������������������������������������������WeightedResponseTimeRule
���������������������������������������������������������������������������������RetryRule
���������������������������������������������������������������������������������������BestAvailableRule
���������������������������������������������������������ZoneAvoidanceRule
������������������������������������������������������������������������Ribbon���������������������������
��������������������� IRule ������������������������������������������������������������������������������������������
public class MyRule implements IRule { private final Log log = LoggerFactory.getLogger(MyRule.class); @Override public List> getNodes(String key) { // ������������������������������ } @Override public int choose(String key, List > nodes) { // ������������������������������������ return 1; }}
������������������������������������ MyRule���������������������������������������������
RestTemplate������������
RestTemplate ��� Spring ��������������������� Restful ��������������������������� HTTP ���������������������������������������������
1. GET ������
getForEntity ������
ResponseEntityresponseEntity = restTemplate.getForEntity("http://SERVICE-PROVIDER/hello", String.class);System.out.println(responseEntity.getBody());System.out.println(responseEntity.getStatusCode());
uriVariables ���������������
MapuriVariables = new HashMap<>();uriVariables.put("id", "1");ResponseEntity response = restTemplate.getForEntity( "http://SERVICE-PROVIDER/hello?id={id}", String.class, uriVariables);
2. POST ������
postForEntity ������
DataTransferObject data = new DataTransferObject();restTemplate.postForEntity("http://SERVICE-PROVIDER/info", data, DataTransferObject.class);
���������������
MapparamMap = new HashMap<>();paramMap.put("name", "������");restTemplate.postForEntity( "http://SERVICE-PROVIDER/user", null, "application/json", paramMap);
������
.Ribbon ��������������������������������������������������������������������������������������������������� RestTemplate ���������������������������������������������������������������������������������������Ribbon ������������������������������������������������������������������������������������������������������������������
发表评论
最新留言
关于作者
