搭建Eureka服务
2023-12-20 06:38:31
搭建Eureka服务
搭建EurekaServer
<dependency>
<!--eureka服务器-->
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
@EnableEurekaServer
@SpringBootApplication
public class EurekaApplication
{
public static void main( String[] args )
{
SpringApplication.run(EurekaApplication.class,args);
}
}
server:
port: 10086 # 服务端口
spring:
application:
name: eurekaServer # 服务名称
eureka:
client:
service-url: # eureka的地址信息,eureka自己也是一个微服务,eureka在启动的时候,会将自己也注册到eureka上,为了eureka做集群使用
defaultZone: http://127.0.0.1:10086/eureka
注册user-service
<!-- 引入eureka客户端依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
注册多个实例
在order-service中完成服务拉取和负载均衡
package cn.itcast.order.service;
import cn.itcast.order.mapper.OrderMapper;
import cn.itcast.order.pojo.Order;
import cn.itcast.order.pojo.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
@Service
public class OrderService {
@Autowired
private OrderMapper orderMapper;
@Autowired
private RestTemplate restTemplate;
public Order queryOrderById(Long orderId) {
// 1.查询订单
Order order = orderMapper.findById(orderId);
// 2. 利用RestTemplate发起http请求,查询用户
// 2.1 url路径
String url = "http://userServer/user/" + order.getUserId();
// 2.2 发送http请求,实现远程调用
User user = restTemplate.getForObject(url, User.class);
// 3. 封装user到Order
order.setUser(user);
// 4.返回
return order;
}
}
@MapperScan("cn.itcast.order.mapper")
@SpringBootApplication
public class OrderApplication {
public static void main(String[] args) {
SpringApplication.run(OrderApplication.class, args);
}
/**
* 完成创建RestTemplate,并注入容器
* @return
*/
@Bean
@LoadBalanced
public RestTemplate restTemplate() {
return new RestTemplate();
}
}
总结
文章来源:https://blog.csdn.net/shall_zhao/article/details/135076183
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!