微服务01

笔记: 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

很好,这次终于成功了。

微服务01_第1张图片

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

你可能感兴趣的:(数据库)