- 博客(54)
- 资源 (5)
- 问答 (3)
- 收藏
- 关注
原创 MyBatis Interceptor拦截器高级用法
场景描述:插入当前数据时,同时复制当前数据插入多行。比如平台权限的用户,可以同时给其他国家级别用户直接插入数据。更新数据时候,可能不止更新当前表,可能需要同时更新其他行数据。查询数据时候,可能需要同时默认加上某个条件。有些实体可能需要自行创建。
2024-04-12 14:49:23 435
原创 Springcloud 微服务实战笔记 Zuul
●它作为系统的统一入口,屏蔽了系统内部各个微服务的细节。●它可以与服务治理框架结合,实现自动化的服务实例维护以及负载均衡的路由转发。●它可以实现接口权限校验与微服务业务逻辑的解耦。●通过服务网关中的过滤器,在各生命周期中去校验请求的内容,将原本在对外服务层做的校验前移,保证了微服务的无状态性,同时降低了微服务的测试难度,让服务本身更集中关注业务逻辑的处理。@Bean"(?
2024-01-04 11:22:24 1299 1
原创 Springcloud 微服务实战笔记 Feign
优点基于Netflix Feign实现,整合了Spring cloud Ribbon 和 Spring cloud Hystrix提供了声明式的WEB服务客户端定义方式扩展了Spring MVC的注解支持使用1、pom导入包:<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-feign
2024-01-04 11:14:22 1348
原创 Springcloud 微服务实战笔记 Ribbon
这段自动装配的代码的含义不难理解,就是利用了RestTempllate的拦截器,使用RestTemplateCustomizer对所有标注了@LoadBalanced的RestTemplate Bean添加了一个LoadBalancerInterceptor拦截器,而这个拦截器的作用就是对请求的URI进行转换获取到具体应该请求哪个服务实例ServiceInstance。的 URI,而返回的 URI 内容则是通过ServiceInstance的服务实例详情拼接出的具体host:post形式的请求地址。
2024-01-03 00:18:54 1470
原创 Springcloud 微服务实战笔记 Eureka
在服务治理框架中,通常都会构建一个注册中心,每个服务单元向注册中心登记自己提供的服务,将主机与端口号、版本号、通信协议等一些附加信息告知注册中心,注册中心按服务名分类组织服务清单。当服务启动后,会向注册中心注册自己的服务,那么注册中心就会有一个服务清单。另外,服务注册中心还需要以心跳的方式去监测清单中的服务是否可用,若不可用需要从服务清单中剔除,达到排除故障服务的效果。
2024-01-03 00:12:36 1394
原创 Spring技术内幕笔记之SpringMvc
DispatcherServlet的工作大致可以分为两个部分:初始化部分,由initServletBean()启动,通过initWebApplicationContext()方法最终调用DispatcherServlet的initStrategies方法,在这个方法里,DispatcherServlet对MVC模块的其他部分进行了初始化,比如handlerMapping、ViewResolver等;对HTTP请求进行响应,作为一个Servlet,Web容器会调用Servlet的doGet()和doP
2024-01-02 23:58:19 1455
原创 Spring技术内幕笔记之IOC的实现
其实对IOC容器的使用者来说,我们经常接触到的BeanFactory 和 ApplicationContext都可以看成是容器具体表现形式。ApplicationContext是BeanFactory的子接口,BeanFactory提供了配置和基本功能,ApplicationContext添加了更多企业特定的功能,ApplicationContext是BeanFactory的完整超集。在Spring中,Spring有各式各样的IOC容器的实现供用户选择和使用。
2024-01-02 23:52:20 1099
转载 source insight4.0安装下载 以及 sourceinsight4免费密钥激活
打开 C:\ProgramData\Source Insight\4.0\si4.lic,将Expiration=”2017-XX-XX”中的。过一段时间提示过期后,把Date="2019-10-24 00:00:00",改成前一天的,又能继续使用。接着点击下一步,输入名称、公司或组织名称、邮箱信息,申请30天的试用,然后一直点击下一步,直到安装完成。首次启动source insight4.0,我们选择第二个选项,即30天试用。安装比较简单,和普通软件下一步下一步即可 就不在赘述。
2023-07-07 00:06:32 15054 3
原创 CentOs7 64位 32位ISO镜像下载
链接: https://pan.baidu.com/s/1N181e6KFFFWPHhCTB7thMw 提取码: zht1。
2023-07-02 23:54:23 797
原创 Apple M1 Pro 安装Homebrew教程
Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷。的一句话:Homebrew是Mac OS 不可或缺的套件管理器。二是科学上网,通过全局代理来进行安装,也是解决网络问题的一种方法。一是替换镜像源,将下载资源改为国内镜像资源即可(推荐)PS: 网址可能对国内用户不友好。
2023-06-25 17:21:52 364
原创 freemarker模板最小案例实现
freemarker是什么百度百科:FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页、电子邮件、配置文件、源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。FreeMarker是免费的,基于Apache许可证2.0版本发布。其模板编写为FreeMarker Template Language(FTL),属于简单、专用的语言。需要准备数据在真实编程语言中来显示,比如数据库查询和业务运算
2021-11-18 21:14:35 221
原创 zookeeper集群配置与配置文件详解
1、配置文件解读tickTime=2000 //leader和follower之间心跳检测时间 initLimit=10 //初始化连接次数是10次,和第一个配置连在一起意思就是10*2000 20秒之内还没连接成功,说明follower是有故障的。 syncLimit=5 //leader下发给follower同步数据,如果5次重试机会,超过5次则表示认为follower存在故障。 dataDir=/tmp/zookeeper // 数据持久化目录 clientPort=2181 // 客户端
2021-09-05 23:22:26 2554
原创 Redis击穿、雪崩、穿透场景描述与解决方案
1、击穿(1)场景描述缓存中的某个key由于过期了,并且前端数据出现高并发(一定要有高并发)请求该key(实际上概率很低),导致瞬间都打在数据库上。(2)解决方案使用redis的setnx(表示只有不存在时候才会设置值)命令,此时该命令相当于锁,如果设置成功则去DB查询,否则后续的请求都等待直到第一个请求设置成功直接缓存中get值。解决步骤:场景:10000个请求同时发生并请求Redis中不存在的key。步骤一:10000个请求全部去Redis中查询数据,发现都没有值;步
2021-08-28 08:53:34 244
原创 Redis集群配置(手工切换主Redis,哨兵自动切换主Redis)
1、单机节点弊端单点故障 容量有限 连接压力2、集群模型说明:AKFX:全量,镜像,横向扩容Y:业务,功能,根据业务纵向扩容Z:优先级,逻辑再拆分,纵向的集群根据一定规则再次划分3、集群演变4、集群搭建使用install_server命令新建两个Redis实例,端口分别为6380、6381为了方便看日志,设置Redis实例日志直接打印在控制台做如下配置将配置文件全部复制到一个临时目录中:2、分别修改各自配置文件:配置改成n
2021-08-23 23:16:22 2820
原创 Linux安装最新Redis
Redis安装(Linux)环境:centOs 7(1)在机器上创建目录Redis,并进入,使用命令:mkdir /redis进入官网:redis.io,复制最新版本redis下载链接地址mkdir /redis cd /redis wget http://download.redis.io/releases/redis-6.2.5.tar.gz (或者直接上传) tar xf redis-6.2.5.tar.gz cd redis-6.2.5 m...
2021-08-18 08:37:25 138
原创 使用sentinel实现限流
使用RateLimiter可查看另外两篇文章:spring cloud网关(zuul)使用RateLimiter限流,使用jMeter性能测试高并发
2021-06-05 15:20:06 204
原创 spring cloud微服务间限流,使用jMeter性能测试高并发
网关限流查看上一篇博客:spring cloud网关(zuul)限流,使用jMeter性能测试高并发
2021-06-03 23:35:33 314
原创 Zuul 查看所有路由路径与filter(过滤器)
增加pom配置:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId></dependency>
2021-05-30 22:46:18 494
原创 springcloud 服务与服务之间实现灰度发布 基于Aspect
灰度发布定义可查看我上一篇文章:基于zuul实现灰度发布1、创建工程创建三个工程:分别为:订单、eureka、user-server(1)order服务order服务提供方,提供两个服务,端口分别为:8080、8081,配置如下:server: port: 8080eureka: instance: metadata-map: version: v1 client: service-url: defaultZone: http...
2021-05-26 23:28:12 478 6
原创 基于zuul实现灰度发布
1、创建工程创建三个工程:分别为:订单、eureka、zuul订单作为提供服务方,eureka作为注册中心,zuul作为网关。
2021-05-21 22:03:07 1044
原创 基于eureka如何使用spring cloud zuul 网关
目录1、增加依赖2、打开zuul开关3、application.yml配置4、测试1、增加依赖 <!--zuul --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-zuul</artifactId> </dependency&.
2021-05-07 23:48:53 200
原创 Eureka控制台下unavailable-replicas怎么解决?
错误效果如图:先上答案:(1)所有节点是否都启动;(2)eureka.client.register-with-eureka是否设置为true,默认是为true;(3)eureka.client.service-url.defaultZone中的URL地址host与eureka.instance.hostname设置的是否相同。以上都满足的话 可解决该问题。原因:查看源码:com.netflix.eureka.util.StatusUtil#getStatusInfo
2021-04-25 23:14:28 376
原创 foreach无法给外部变量赋值(Local variable decimal defined in an enclosing scope must be final or effectively )
报错信息如下:Local variable decimal defined in an enclosing scope must be final or effectively final原因:在foreach中没有权限将外部变量地址改变。解决方案:使用变量的Holder解决前:此时会报错BigDecimal decimal = BigDecimal.ZERO;list.forEach(e -> { decimal = decimal.add(BigDecima..
2021-04-23 16:13:05 4198
原创 MySQL锁机制(myisam表所与innoDB锁)
目录1、MySQL锁的基本介绍2、MyISAM表锁2.1写锁阻塞读2.2读阻塞写3、InnoDB锁3.1、事务及其ACID属性3.2、并发事务带来的问题3.3.1、在不通过索引条件查询的时候,innodb使用的是表锁而不是行锁3.3.2、创建带索引的表进行条件查询,innodb使用的是行锁总结1、MySQL锁的基本介绍锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的 计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用
2020-11-21 18:00:09 468
原创 虚拟机(VMware Workstation Pro)安装多台Linux
安装VMware Workstation Pro 开始安装Linux 2.1安装裸机打开VMware Workstation Pro点击创建新的虚拟机选择稍后安装操作系统,选择下一步客户机操作系统选择Linux,然后版本根据自己需要选择版本,点击下一步...
2020-11-21 11:53:27 3396 1
原创 java实现 腾讯人机验证 + 前端
二话不说先上效果图:前端新建一个html页面内容为:<!DOCTYPE html><html><head> <title>腾讯人机校验</title></head><body><button id="TencentCaptcha" data-appid="1253632833" data-cbfn="callback" class="layui-btn layui-block" lay-
2020-10-24 15:17:38 2105 2
原创 Netty介绍 与第一个Netty实例
官网:https://netty.io/以下内容大部分来自Netty官网内容一、现有问题现在我们使用通用应用程序或库来彼此通信。例如,我们经常使用HTTP客户端库从web服务器检索信息,并通过web服务调用远程过程调用。然而,一个通用协议或它的实现有时并不能很好地扩展。这就像我们没有使用通用的HTTP服务器来交换巨大的文件、电子邮件消息和接近实时的消息(如财务信息和多人游戏数据)。需要的是一个高度优化的协议实现,专门用于特定的目的。例如,您可能想实现一个针对基于ajax的聊天应用程序、媒体流或大
2020-09-28 15:15:42 168
原创 分布式:阿里云HSF转dubbo+zookeeper
1、项目环境修改parent项目增加相关包:user_catalog.xml配置文件修改,schema文件增加dubbo.xsd。(这个也可不添加,添加后)代码修改conf包修改:将所有dubbo*开头的配置文件的命名空间改为:<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...
2020-09-28 11:35:42 344
转载 系统幂等性设计与实践
幂等性什么是幂等性HTTP/1.1中对幂等性的定义是:一次和多次请求某一个资源**对于资源本身**应该具有同样的结果(网络超时等问题除外)。也就是说,**其任意多次执行对资源本身所产生的影响均与一次执行的影响相同**。简单来说,是指无论调用多少次都不会有不同结果的 HTTP 方法。什么情况下需要幂等业务开发中,经常会遇到重复提交的情况,无论是由于网络问题无法收到请求结果而重新发起请求,或是前端的操作抖动而造成重复提交情况。 在交易系统,支付系统这种重复提交造成的问题有尤其明显,比如:
2020-07-26 18:02:11 317
转载 互联网系统设计原则
互联网业务背景随这移动互联网、云计算、大数据、物联网技术的发展,促进电子商务、工业互联网和互联网金融等业务领域健康发展。无论是互联网公司,还是传统行业,一切商业都将互联网化,这几乎是所有大佬能达成的唯一共识。所以目前我们面临的首要任务就是构建和改造我们的系统使其面向互联网。互联网应用的几个特性:Ø 高性能Ø 高可用性Ø 大数据Ø 低成本互联网系统设计原则面向互联网化的过程中,系统架构应该按照以下几个规则进行设计。1.1 业务架构设计原则1.1.1 业务平台化Ø 业
2020-07-26 17:58:13 704
原创 Redis事务,ACID性质,但是Redis不支持事务回滚
ACID性质1、原子性事物具有原子性指的是,数据库将事务中的多个操作当做一个整体来执行,服务器要么执行事务中的所有操作,要么就一个操作也不执行。对于Redis的事务功能来说,事务队列中的命令要么就全部都执行,要么就一个都不执行,因此Redis的事务是具有原子性的。但是,Redis的事务和传统的关系型数据库事务的最大区别在于,Redis不支持事务回滚机制,即使事务队列中的某个命令在执行期间出现了错误,整个事务也会继续执行下去,直到将事务队列中的所有命令都执行完毕。解释:作者在事务功能的文档
2020-06-09 23:06:16 705
原创 Eclipse将整个项目的HTML文件编码改为UTF-8
Eclipse的Window -->preference-->General-->ContentTypes 选择Text下的HTML项,在Default encoding栏位输入 UTF-8并且update下,一定要记得update!!!!
2020-06-01 22:18:17 2231
原创 Eclipse安装反编译插件
1、下载jd插件下载链接:http://jd.benow.ca/,找到JD-Eclipse模块看官网解释:Download JD-Eclipse ZIP file, Launch Eclipse, Click on"Help > Install New Software...", Drag and drop ZIP file on dialog windows, Check"Java Decompiler Eclipse Plug-in", Click on"Next"...
2020-05-30 12:20:54 383
转载 springcloud api-gateway详解
网关api-gatewayapi-gateway是一款轻量级、高性能、易扩展的基于zuul的网关产品,提供API的统一管理服务、涵盖API发布、管理、运维的全生命周期管理。对内辅助用户简单、快速、低成本、低风险的实现微服务聚合、前后端分离、系统集成等功能;对外面向合作伙伴、开发者开放服务。通过使用API-Gateway,我们能快速帮助用户实现传统ESB面临的主要场景,又能满足新型业务场景(移动应用等)所需的高性能、安全、可靠等要求。通用网关设计软负载ZUUL网关活动图
2020-05-24 22:21:52 3860
转载 eureka-server详解
注册中心Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。Eureka包含两个组件:Eureka Server和Eureka Client。Eureka Server提供服务注册服务,各个节点启动后,会在Eureka Server中进行注册,这样Eur
2020-05-24 18:56:39 6342
转载 自助餐比喻秒懂微服务
将整个微服务大部分核心内容,使用自助餐(亚马逊烤肉)全套服务比喻,一下就能秒懂,不信你往下看:亚马逊为了确保服务的质量,也是做足了准备。三名“大堂”主管,戴着专业的蓝牙耳机在有条不紊的协调着各个服务小组。 这三位经理是微服务中非常关键的“服务注册中心”,通常用 eureka 实现,三位经理,确保服务高可用。后厨人员明确分工,紧锣密鼓的准备着:有两组人专职烤全羊,有两组人负责烤串,有一组...
2020-04-13 00:04:58 479
转载 open-capacity-platform 项目启动
简介windows机器启动开发部署[info] 最小启动,eureka-server auth-server user-center api-gateway back-center[info] 下面演示启动过程(开发8G内存即可)演示环境http://59.110.164.254:8066/login.html1.注册中心启动完成输入http://127.0.0.1:1...
2020-04-12 11:07:52 750
转载 open-capacity-platform STS项目导入
简单说明STS的使用1sts安装 Lombok下载lombok.jar包https://projectlombok.org/download.html必须安装lombok否则代码会编译不通过,安装步骤STS.ini内容如下-productorg.springsource.sts.ide--launcher.defaultActionopenFile-st...
2020-04-12 11:02:34 218
Executable and Linking Format (ELF) 英文文档中文文档
2023-07-30
java 生成XML文件后,能不能去掉其中的根节点,但是不能删除根节点中的子节点内容
2015-05-21
安卓 contextMenu 背景颜色或者图片的改变
2015-04-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人