学习SpringCloud Hoxton版+alibaba(H版&alibaba)
nacos-server:官网下载安装启动即可
nacos- client:安装nacos-client端,本质是一个jar包,导入相关依赖即可,进行一些简单的配置。
使用:订单微服务通过nacos-server拿到商品微服务的地址和端口,进行调用。
nocos-server安装
- conf文件夹里面是配置文件(采用默认)
- bin文件夹shutdown.cmd(停止)和startup.cmd(启动),可以双击启动,或者通过命令行。
#切换目录 cd nacos/bin
#命令启动 startup.cmd -m standalone (这一段不输入也是默认的) - 默认端口号为8848,启动成功默认会给我们一个ui界面localhost:8848/nacos(用户名和密码都是nacos)
- 微服务注册好了,在服务管理—服务列表可以看到
以上nacos- server安装成功了!
nacos-client安装
- 在pom.xml中添加nacos的依赖
- 在启动主类上添加@EnableDiscoveryClient注解
- 在application.yml中添加nacos服务的地址
cloud.nacos.discovery.server-addr:localhost:8848 - 启动服务,观察nacos的服务管理—服务列表中是否有注册上来的商品微服务
- 微服务的名称就是微服务application.yml文件里面的application.name的名称
订单微服务调用商品微服务
在orderContrller页面
添加注解
@Autowired
private DiscoveryClient discoveryClient;
在下单的方法里面加入该代码块List<ServiceInstance> instances=discoveryclient.getInstances(“service- product);
//这里的参数serviceId指的是服务管理—服务列表—服务名微服务名称,这里返回的是一个集合,以后可能会做这个微服务的集群,实例数可能有多个。
ServiceInstance instance=instances.get(0);
instance.getHost();取地址
instance.getPort();取端口
Product product=restTemplate.getForObject(“hppt://localhost:8081/product/”+pid,Product.class);
用了nacos之后,修改为
Product product=restTemplate.getForObject(“http://localhost:”+instance.getPort()+“:”+instance.getHost()+“/product/”+pid,Product.class);
负载均衡
负载均衡就是将负载(工作任务,访问请求)进行分摊到多个操作单元(服务器,组件)上进行执行。
根据负载均衡发生位置的不同,一般分为服务器负载均衡和客户端负载均衡。
服务端负载均衡指的是发生在服务提供者一方,比如常见的nginx负载均衡。
而客户端负载均衡指的是发生在服务请求到一方,也就是发送请求之前已经选好了由哪个实例处理请求。
还没有评论,来说两句吧...