- 博客(42)
- 收藏
- 关注
原创 4-spring篇
12个步骤这一步创建和准备了Environment对象,并赋值给了ApplicationContext的成员变量要理解Environment对象的作用ApplicationContext 里面有一个成员变量,Beanfactorybean的来源有 xml配置文件,配置类,扫描是一个空实现,留给子类实现的bean工厂后处理器注册bean后处理器 对bean的创建过程中,各种功能的增强MessageSource实现国际化的应用事件广播器onRefresh。
2023-03-03 18:05:09
825
原创 element-ui-admin拒绝从入门到放弃1
我使用的node.js 版本是 v16.12.0可以直接去官网下载,找不到的可以私信我给你安装包,我是mac版本的。依赖的插件tui-editor,现在已经无法从npm下载了,解决方案。2.2在src/components/MarkdownEditor/index.vue。1.node.js版本过高导致的npm run dev 报错。从安装开始就碰到了一些问题。整了一天,刚刚弄明白。今天看了一下eleemnt-ui-admin。先下载依赖,使用淘宝镜像。3进入项目目录,运行。
2022-12-23 00:03:45
478
原创 Redis主从架构,redis集群搭建
单节点Redis的并发能力是有上限的,要进一步提高Redis的并发能力,就需要搭建主从集群,实现读写分离。redis一般是读多,写少的,所有一般是写操作给主节点,从节点承担读操作。
2022-11-17 12:40:47
461
原创 分布式事务
对于已经空回滚的业务,如果以后继续执行try,就永远不可能confirm或cancel,这就是业务悬挂。无论是AP还是CP各个子事务之间都需要通信,需要一个协调者,帮助分布式事务中,各个子事务进行通信和 感知彼此的状态。CP模式:各个子事务执行后互相等待,同时提交,同时回滚,达成强一致。但事务等待过程中,处于弱可用状态。AP模式:各子事务分别执行和提交,允许出现结果不一致,然后采用弥补措施恢复数据即可,实现最终一致。2.Soft State(软状态):在一定时间内,允许出现中间状态,比如临时的不一致状态。
2022-11-13 11:54:26
257
原创 微服务保护Sentinel规则持久化
push模式:控制台将配置规则推送到远程配置中心,例如Nacos。Sentinel客户端监听Nacos,获取配置变更的推送消息,完成本地配置更新。在sentinel-dashboard的test包下,已经编写了对nacos的支持,我们需要将其拷贝到main下。修改OrderService,让其监听Nacos中的sentinel规则配置。SentinelDashboard默认不支持nacos的持久化,需要修改源码。接下来,还要修改前端页面,添加一个支持nacos的菜单。
2022-11-02 15:57:51
124
原创 微服务保护sentinel授权规则
默认情况下,发生限流、降级、授权拦截时,都会抛出异常到调用方。/*** 处理请求被限流、降级、授权拦截时抛出的异常:BlockExceptionString msg = "未知异常";msg = "请求被限流了";msg = "请求被热点参数限流";msg = "请求被降级了";msg = "没有权限访问";} }
2022-11-02 15:24:47
205
原创 微服务保护Sentinel隔离和降级
/ 创建UserClient接口实现类,实现其中的方法,编写失败降级的处理逻辑 return new UserClient() {// 记录异常信息 log . error("查询用户失败" , throwable);// 根据业务需求返回默认的数据,这里是空用户 return new User();} };} } }
2022-11-02 14:31:45
114
原创 微服务保护Sentinel监控
微服务之间相互调用,因为调用链中的一个服务故障,引起整个链路都无法访问的情况。sentinel 官网地址启动sentinel1.快速失败:QPS超过阈值时,拒绝新的请求2.warm up: QPS超过阈值时,拒绝新的请求;QPS阈值是逐渐提升的,可以避免冷启动时高并发导致服务宕机。3.排队等待:请求会进入队列,按照阈值允许的时间间隔依次执行请求;如果请求预期等待时长大于超时时间,直接拒绝。
2022-11-01 16:31:17
391
原创 虚拟机使用docker 外部机器无法访问端口问题
如果输出的是“not running”则FirewallD没有在运行,且所有的防护策略都没有启动,那么可以排除防火墙阻断连接的情况了。上面的命令并没有保存对IP转发配置的更改,下次系统启动时仍会使用原来的值,要想永久修改IP转发,需要修改。如果上述文件中的值为0,说明禁止进行IP转发;如果是1,则说明IP转发功能已经打开,如果输出的是“running”,表示当前FirewallD正在运行,则关闭防火墙。把文件的内容由0修改为1。禁用IP转发则把1改为0。进行了上面的配置后,IP转发功能就永久开启了。
2022-10-26 11:39:59
2139
原创 java实现elasticsearch 、dsl查询 、RestClient查询文档4
【代码】java实现elasticsearch 、dsl查询 、RestClient查询文档。
2022-10-18 15:16:34
900
原创 elasticsearch、DSL查询文档3
优点:支持随机翻页缺点:深度分页问题,默认查询上限(from + size)是10000场景:百度、京东、谷歌、淘宝这样的随机翻页搜索优点:没有查询上限(单次查询的size不超过10000)缺点:只能向后逐页查询,不支持随机翻页场景:没有随机翻页需求的搜索,例如手机向下滚动翻页scroll:(淘汰了)优点:没有查询上限(单次查询的size不超过10000)缺点:会有额外内存消耗,并且搜索结果是非实时的场景:海量数据的获取和迁移。从ES7.1开始不推荐,建议用 after search方案。
2022-10-17 21:21:17
609
原创 elasticsearch操作索引库、RestClient操作索引库2
增量修改:POST/索引库名/_update/文档id{“doc”:{字段}}全量修改:PUT /索引库名/_doc/文档id{json文档}
2022-10-17 15:50:49
617
原创 SpringAMQP
topiExchange与DirectExchange类似,区别在于routingKey必须是多个单词的列表,并且以.分割。Direct Exchange 会将接收到的消息根据规则路由到指定的Queue,因此称为路由模式(routes)。发布订阅模式与之前案例的区别就是允许将同一消息发送给多个消费者。利用MessageConverter实现的,默认是JDK的序列化。注意发送方和接收方必须使用相同的MessageConverter。步骤1:在consumer服务声明Exchange、Queue。
2022-10-13 16:15:30
359
原创 Docker \ DockerCompose安装
Docker 分为 CE 和 EE 两大版本。CE 即社区版(免费,支持周期 7 个月),EE 即企业版,强调安全,付费使用,支持周期 24 个月。Docker CE 分为stabletest和nightly三个更新频道。官方网站上有各种环境下的,这里主要介绍 Docker CE 在 CentOS上的安装。
2022-10-11 13:58:47
140
原创 centos7安装Docker
Docker 分为 CE 和 EE 两大版本。CE 即社区版(免费,支持周期 7 个月),EE 即企业版,强调安全,付费使用,支持周期 24 个月。Docker CE 分为stabletest和nightly三个更新频道。官方网站上有各种环境下的,这里主要介绍 Docker CE 在 CentOS上的安装。
2022-10-10 17:16:34
95
原创 统一网关Gateway
请求路由后,会将当前路由过滤器和DefaultFilter、GlobalFilter,合并到一个过滤器链(集合)中,排序后依次执行每个过滤器。跨域问题:浏览器禁止请求的发起者与服务端发生跨域ajax请求,请求被浏览器拦截的问题。可以对进入网关的请求和微服务返回的响应作处理。用一个类去实现globalfilter接口。网关处理跨域采用的同样是CORS方案。
2022-10-10 15:42:45
128
原创 Feign远程调用
一般需配置的就是日志级别在消费者的启动类上添加@EnableFeignClients(basePackages = "包名")
2022-10-10 13:26:51
487
原创 nacos集群搭建
3.修改集群配置(节点信息)、数据库配置。1.搭建mysql集群并初始化数据库表。4.分别启动多个nacos节点。2.下载解压nacos。5.nginx反向代理。
2022-10-09 23:30:27
86
原创 nacos注册中心和配置中心
例如:userservice.yaml 中间就不写环境了(userservice-dev.yaml)这样所有环境下,都会加载uservice.yaml的配置,从而实现多环境配置。1通过namespace配置命名空间的方式做环境隔离。配置nacos地址、当前环境、服务名称、文件后缀名。配置临时实例和非临时实例 (对服务器压力比较大)通过配置权重,可以在线关闭服务,可以平滑升级。nacos会把实例区分为临时实例和非临时实例。在服务的yml里面配置命名空间。优先选择同集群服务实例列表。配置服务所在的集群位置。
2022-10-09 22:41:23
434
原创 微服务 服务调用关系
一个服务可以同时是服务提供者和服务消费者。服务提供者:暴露接口给其他微服务调用。服务消费者:调用其他微服务提供的接口。提供者与消费者角色其实是相对的。
2022-10-08 21:42:46
374
原创 认识微服务
单体架构:将业务的所有功能集中在一个项目中开发,打包一个包部署。架构简单部署成本低耦合度高(致命缺陷)分布式架构:每个业务模块作为独立项目开发,成为一个服务。
2022-10-08 14:50:13
54
原创 nginx下载和安装
1、安装依赖包:yum -y install gcc pcre-devel zlib-devel openssl openssl-devel。2、下载nginx安装包: wget https://nginx.org/download/nginx-1.16.1.tar.gz。5、安装到指定目录,需要提前创建下面的目录./configure --prefix=/usr/local/nginx。3、解压 tar -zxvf nginx-1.16.1.tar.gz。4、进入 cd nginx-1.16.1。
2022-10-07 11:30:22
1107
原创 mysql主从复制 配置流程
mysqld --help --verbose|grep my.cnf (这个命令查看mysql配置文件)systemctl restart mysqld (重启mysql)mysql命令:show master status;可以看到master状态。systemctl restart mysqld (重启mysql)看到下面这个就说明配置主从复制成功了。登陆进去mysql,执行下面命令。1.master方配置。2.从库slave配置。配置server-id。
2022-10-06 16:31:03
302
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人