
微服务
微服务
卷土重来…
生如蝼蚁,当立鸿鹄之志,命如纸薄,应有不屈之心!
展开
-
38.springboot使用rabbitmq
【代码】springboot使用rabbitmq。原创 2025-05-31 21:33:28 · 313 阅读 · 0 评论 -
37.docker拉取镜像失败和创建mysql5.6容器
docker pull 拉取镜像文件超时,网络连接不上。原创 2024-08-08 21:12:49 · 592 阅读 · 0 评论 -
36.Docker-Dockerfile自定义镜像
其他命令参考网址:https://docs.docker.com/engine/reference/builder。是一个文本文件,其中包含一个个指令Instruction,指令说明要执行什么操作。每一个指令会形成一层Layer。:在BaseImage基础上添加依赖、安装程序、完成整个应用的安装和配置。镜像是将应用程序及其需要的系统函数库、环境、配置、依赖打包而成。基于ubuntu镜像构建一个新镜像,运行一个java项目。镜像是分层机构,每一层都是一个layer。:入口,是镜像中应用启动的命令。原创 2024-05-03 15:01:20 · 735 阅读 · 2 评论 -
35.Docker-数据卷,目录挂载
在容器内修改文件是不推荐的。1.修改不方便,比如vi命令都无法使用。2.容器内修改,没有日志记录的。那应该如何修改容器中的文件呢?原创 2024-05-03 00:40:02 · 1030 阅读 · 2 评论 -
34.Docker基本操作
镜像名称分为两部分组成:[repository]:[tag],tag就是镜像的版本。-it 给当前进入容器创建一个标准的输入、输出终端,允许我们与容器交互。bash 进入容器后执行的命令,bash是一个linux终端交互命令。进入容器后发现vi命令无法使用,因为容器是一个阉割版的linux。进入nginx容器,修改html文件内容,添加“卷土重来”。docker exec 进入容器内部执行一个命令。命令查看所有与nginx相关的容器命令。命令查看所有启动的容器命令。redis持久化方式AOF。原创 2024-05-02 22:17:17 · 1935 阅读 · 2 评论 -
33.Docker安装
Docker由CE和EE两个版本,CE是社区版免费,EE企业版收费。Docker CE支持64位版本centos7,内核版本不低于3.10,Centos7满足最低内核要求,所以在centos7安装docker。原创 2024-05-02 19:11:43 · 565 阅读 · 0 评论 -
32.Docker认识
Docker是一个快速交付应用,运行应用的技术。1.可以将程序、依赖、运行环境一起打包为一个镜像,可以迁移到任意Linux操作系统。2.运行时利用沙箱机制行程隔离容器,各个应用互不干扰。3.启动、移除都可以通过一行命令完成,方便快捷。原创 2024-05-02 16:55:53 · 1005 阅读 · 0 评论 -
31.Gateway网关-跨域问题
1.域名不同:www.baidu.com和www.taobao.com,www.taobao.org2.域名相同,端口不同。localhost:8080和localhost:8081。原创 2024-04-27 23:03:12 · 649 阅读 · 0 评论 -
30.Gateway网关过滤器链执行顺序
GatewayFilterAdapter中有一个GlobalFilter, 适配器模式,如上图所示,所以可以看做GlobalFilter也是属于GatewayFilter的。4.如果三种类型的过滤器的order值一样的时候的执行顺序是:defaultFilter-> 路由过滤器 -> GlobalFilter。1.每个过滤器都必须指定一个int类型的order值,order值越小,优先级越高,执行顺序越靠前。3.路由过滤器和defaultFilter的order由spring指定,默认是。原创 2024-04-27 22:42:07 · 448 阅读 · 0 评论 -
29.Gateway网关的全局过滤器GlobalFilter
Order(-1) //设置优先级,数字越小优先级越高@Component@Override//1.获取请求对象//2.获取请求参数//3.获取参数中的authorization//4.判断参数值是否为admin//5.是放行}else {//6.否拦截,设置状态码为未登录,拦截请求。原创 2024-04-27 21:59:38 · 551 阅读 · 0 评论 -
28.Gateway-网关过滤器
GatewayFilter是网关中提供的一种过滤器,可以多进入网关的请求和微服务返回的响应做处理。default-filters针对所有路由的默认过滤器。spring中提供了31种不同的路由过滤器工厂。@RequestHeader获取请求头中的数据。filters针对部分路由的过滤器。原创 2024-04-27 17:10:11 · 687 阅读 · 0 评论 -
27.统一网关Gateway-路由断言工厂
org.springframework.cloud.gateway.handler.predicate.PathRoutePredicateFactory类来处理。在配置文件中写的断言规则只是字符串,这些字符串会被Predicate Factory读取并处理,转变为路由判断的条件。例如:Path = /user/** 是按照路劲匹配,这个规则是由。多个predicates之间表示同时满足。原创 2024-04-27 16:46:18 · 639 阅读 · 0 评论 -
26.统一网关Gateway
1.。2.。用户请求被分配到哪一个微服务。一个微服务可以有多个实例,所以使用负载均衡。3.。springcloud网关实现有两种:gateway, zuulzuul是基于servlet实现的,属于阻塞式编程。springCloudGateway是基于Spring5中提供的WebFlux,属于响应式编程,具有更好的性能。原创 2024-04-27 16:33:02 · 612 阅读 · 1 评论 -
25.Feign的最佳用法
feign-client的module中的UserClient类的bean实例找不到。而消费者order-servcie的 module下的启动类上的@EnableFeignClients注解没有指定包默认是com.xkj.org,所以找不到。将feignClient抽取为独立模块,并把接口有关的entity,默认feign的配置都放到这个模块中,提供给所有的消费者。2.将order-service中编写的UserCllient、User都移动到feign-client中。原创 2024-04-27 15:35:01 · 176 阅读 · 0 评论 -
24.Feign性能优化
2.日志级别,最好用BASIC或NONE,因为日志的打印会消耗性能的。URLConnection:默认实现,不支持连接池,性能不太好。Apache HttpClient: 支持连接池。替代默认的URLConnection。OKHttp: 支持连接池。feign的默认实现。原创 2024-04-27 11:30:16 · 332 阅读 · 0 评论 -
23.Feign自定义日志配置
修改日志级别。四种不同的级别:1.没有日志,。2.记录http请求什么时候发的,什么时候结束的,耗时等基本信息。3.除了记录BASIC的内容,还有请求头和响应头。4.除了记录BASIC,HEADERS的内容,还有请求体和响应体的信息都记录下来。原创 2024-04-27 11:07:39 · 569 阅读 · 0 评论 -
22.Feign远程调用
存在的问题:1.代码可读性差,编码体验不统一。2.复杂参数URL难以维护。是一个声明式的http客户端,作用是优雅的实现http请求的发送,解决RestTemplate中的问题。原创 2024-04-27 10:32:05 · 396 阅读 · 0 评论 -
21.Nacos集群搭建
模拟Nacos三个节点,同一个ip,启动三个不同的端口:节点 nacos1, 端口:8845节点 nacos2, 端口:8846节点 nacos3, 端口:8847。原创 2024-04-26 22:33:30 · 595 阅读 · 0 评论 -
20.Nacos配置管理-多环境配置共享
表示即可读取order-service-dev.yaml文件中的配置,也可以读到order-service.yaml文件中的配置。nacos (dev,test,prod)环境配置 > nacos共享配置 > 本地配置(代码中的application.yml)结论:order-service.yaml共享配置文件是指 与 不同环境dev,prod,test下的共享。order-servcie.yaml 多环境共享配置可以写入这个文件。服务名-profile.yaml > 服务名.yaml > 本地配置。原创 2024-04-26 21:20:42 · 436 阅读 · 0 评论 -
19.Nacos配置管理-热更新
04-26 20:06:21:028 INFO 24440 --- [nio-8080-exec-5] com.xkj.org.controller.OrderController : dateformat=yyyy年MM月dd日 HH:mm:ss。方式一:在@Value注入的变量所在类上添加注解。原创 2024-04-26 20:20:20 · 435 阅读 · 0 评论 -
18.Nacos配置管理-微服务读取Nacos中的配置
1.实现配置更改热更新,而不是改动了配置文件还要去重启服务才能生效。2.对多个微服务的配置文件统一集中管理。而不是需要对每个微服务逐一去修改配置文件,特别是公共通用的配置。中的配置发生改变后,回去立马通知各个微服务完成对最新配置的读取,并完成热更新。原创 2024-04-25 23:08:12 · 1050 阅读 · 0 评论 -
17.Nacos与Eureka区别
非临时实例,nacos会主动询问服务提供者是否还活着。如果不正常了nacos不会剔除临时实例,会等着服务恢复正常。4.Nacos集群默认采用AP的方式,当集群中存在非临时实例时,采用CP模式。AP高可用,CP强调可靠性和一致性。nacos中服务的消费者除了从nacos注册中心定时拉取服务列表,nacos注册中心还会主动推送变更的消息。临时实例跟eureka一样,会向注册中心报告心跳监测自己是否还活着。如果不正常了nacos会剔除临时实例。2.临时实例心跳不正常会被剔除,非临时实例则不会被剔除。原创 2024-04-23 22:42:17 · 589 阅读 · 0 评论 -
16.Nacos环境隔离
如果微服务实例在不同的namespace下,相互之间的调用将无法访问。不同namespace下的服务不可见。Namespace->Group->Service/Data->集群->实例。nacos控制台新增一个开发环境的命名空间:dev, 会产生命名空间的id。环境隔离namespace。原创 2024-04-23 22:09:43 · 601 阅读 · 0 评论 -
15.Nacos服务分级存储模型
user-service有两个实例,分别的集群名称是chengdu,chongqing。服务调用尽可能的选择本地集群的服务,跨集群调用延迟较高。order-service的集群名称为 chengdu。本地集群不可访问的情况下,再去访问其他集群。原创 2024-04-22 22:37:27 · 234 阅读 · 0 评论 -
14.用Nacos的服务注册与发现替换Eureka
将eureka-server从父pom中移除,无需启动eureka-server,而是使用nacos启动server来替代了。order-service、user-servcie服务的pom文件修改:nacos客户端依赖。修改每个微服务的配置文件application.yml。原创 2024-04-22 21:43:08 · 303 阅读 · 0 评论 -
13.Nacos简介,下载,安装,启动-windows
Nacos是阿里巴巴的产品,现在是SpringCloud的一个组件。windows下载nacos-server-1.4.1.zip文件。nacos是基于java语言实现的,默认端口是。启动命令:standalone表示单节点启动。初始化的用户名和密码:nacos/nacos。相比Eureka功能更加丰富,原创 2024-04-22 20:40:43 · 435 阅读 · 1 评论 -
12.Ribbon饥饿加载
Ribbon默认是懒加载的,第一次使用Ribbon访问的时候才会去实例化对象,所以第一次访问比较耗时。clients: user-service #对user-service这个服务饥饿加载。- user-service #对user-service这个服务饥饿加载。enabled: true # 开启饥饿加载。enabled: true # 开启饥饿加载。原创 2024-04-21 22:23:33 · 421 阅读 · 0 评论 -
11.Ribbon负载均衡策略及修改
ZoneAvoidanceRule 默认使用的规则。原创 2024-04-21 22:14:53 · 261 阅读 · 0 评论 -
10.Ribbon负载均衡
原创 2024-04-21 21:49:54 · 152 阅读 · 0 评论 -
9.Eureka服务发现+Ribbon+RestTemplate服务调用
来代替 ip:port的方式访问user-service服务的接口。order-service服务通过。1.添加负载均衡注解。原创 2024-04-21 21:26:07 · 623 阅读 · 0 评论 -
8.idea中一个服务启动多实例
指定一个新的端口-Dserver.port=8082。原创 2024-04-21 18:23:56 · 292 阅读 · 0 评论 -
7.Eureka注册中心
将order-service服务注册到eureka。将user-service服务注册到eureka。原创 2024-04-21 15:52:37 · 417 阅读 · 0 评论 -
6.搭建Eureka
eureka-server自己也是一个微服务,所以eureka-server在启动的时候也会将自己注册到eureka上。eureka集群的时候,会将多个eureka相互注册,这个时候,defaultZone的值会有多个,用逗号隔开。原创 2024-04-21 15:30:33 · 518 阅读 · 0 评论 -
5.Eureka原理分析
Consumer服务消费者,例如案例中的order-service,根据服务名称从EurekaSever拉取服务列表,基于服务列表做负载均衡,选中一个微服务后发起远程调用。Provider服务提供者,例如案例中的user-service,注册自己的信息到EurekaServer,每隔30秒向EurekaServer发送心跳。记录服务信息,心跳监控。2.Eureka会记录服务列表信息,心跳不正常会被剔除。1.服务消费者利用负载均衡算法,从服务列表中挑选一个。1.服务提供者启动时向Eureka注册自己的信息。原创 2024-04-21 14:25:12 · 814 阅读 · 0 评论 -
4.SpringCloud基础项目搭建利用RestTemplate实现远程调用
order-service的application.yml文件。user-service的pom.xml文件。order-service的关键配置。原创 2024-04-20 17:21:54 · 446 阅读 · 0 评论 -
3.SpringCloud版本
2.微服务的数据独立,每个微服务都有自己独立的数据库,不要访问其他微服务的数据库。3.微服务可以将自己的的业务暴露为接口,供其他微服务调用。1.不同微服务,不要重复开发相同业务。原创 2024-04-20 11:37:31 · 385 阅读 · 0 评论 -
2.微服务技术
微服务技术对比:原创 2024-04-19 22:37:19 · 599 阅读 · 0 评论 -
1.微服务介绍
注册中心配置中心服务集群服务网关分布式缓存分布式搜索数据库集群消息队列分布式日志服务系统监控链路追踪Jenkinsdockerk8s。原创 2024-04-19 22:08:50 · 808 阅读 · 0 评论