笔记: day03-微服务01 - 飞书云文档 (feishu.cn)
数据库连接不上?
要在虚拟机启动MySQL容器。docker start mysql
服务治理
服务提供者:暴露服务接口,供其他服务调用
服务消费者:调用其他服务提供的接口
注册中心:记录并监控各微服务各实例状态,推送服务变更消息
1.消费者如何知道提供者的地址?
服务提供者会在启动时注册自己信息到注册中心,消费者可以从服务中心订阅拉取服务信息。
2.消费者如何得知服务状态变更
服务提供者会通过心跳机制向注册中心报告自己的健康状态,如果有异常服务注册中心会剔除,然后通知订阅了该服务的消费者。
3.当提供者有多个实例选哪一个?
负载均衡算法
nacos
之前在访问192.168.200.130:8848/nacos/(自己的虚拟机地址)的时候总是访问不了,重新删除容器也不行。只好先放弃了,学完了第一天的课程之后,今天又想着去试下,结果成功了。
解决方案:docker inspect nacos 发现他的地址竟然和老师给的虚拟机地址192.168.150.101一样,可是这个是要自己的IP地址,所以环境变量有误。之前导入文件的时候不是修改了吗?无奈,我先把文件修改了一遍。在docker中,无法使用docker container update命令直接更新整个环境变量。需要使用命令删掉容器。
docker stop nacos
docker rm nacos
在mobaxterm上的/root目录下重新上传了custom.env文件后。再重新创建docker容器。
[root@localhost ~]# docker run -d \
> --name nacos \
> --env-file ./nacos/custom.env \
> -p 8848:8848 \
> -p 9848:9848 \
> -p 9849:9849 \
> --restart=always \
> nacos/nacos-server:v2.1.0-slim
很好,这次终于成功了。
OpenFeign
如何利用OpenFeign实现远程调用?
- 引入OpenFeign和SpringLoadBalancer依赖
- 利用@EnableFeignClients注解开启OpenFeign功能
- 编写FeignClient
如何配置OpenFeign的连接池?
- 引入http客户端依赖 如okhttp ,httpckient
- 配置yaml文件 打开OpenFeign连接池开关
OpenFeign的最佳实践方式是什么?
- 对微服务进行拆分
- 重新开一个新的模块module,将FeignClient以及DTO抽取出来
如何配置OpenFeign输出日志级别?
- 在这个新的模块中添加一个配置类,在里面定义一个bean
- 在注解@EnableFeignClients或@FeignClient上加上defaultFeignClients
数据库datasource和schema是一个东西吗?
参考这篇文章:数据库中的Schema是什么?_schema是什么意思-CSDN博客
取决于数据库供应商
1)在MySQL的文档中指出,模式和数据库是一回事。
2)但是,在Oracle文档中指出,某些对象可以存储在数据库中,但不能存在schema中。所以,schema和数据库不是一回事。
zhgzh'g