架构
文章平均质量分 80
工作QQ感冒的石头
这个作者很懒,什么都没留下…
展开
-
Arthas(阿尔萨斯) 在线监控工具部署和使用
Java 8 之后支持获取 JVM 内部线程 CPU 时间,这些线程只有名称和 CPU 时间,没有 ID 及状态等信息(显示 ID 为-1)。这种方法效率低下,更糟糕的是,该问题可能无法解决,因为一旦 JVM 重新启动,它可能无法复现,如上文所述。更糟糕的是,在生产环境中调试是不可接受的,因为它会暂停所有线程,导致服务暂停。但是,某些问题无法在不同的环境中轻松复现,甚至在重新启动后就消失了。输入dashboard,按回车/enter,会展示当前进程的信息,按ctrl+c可以中断执行。原创 2023-02-21 02:23:15 · 780 阅读 · 0 评论 -
linux中使用KubeSphere和集群k8s 部署springboot项目
每个容器的CPU、内存、GPU、健康检查、环境变量等诸多参数,根据自己的要求填写,其他步骤不在赘述,已经在上篇文章中讲过。高级设置,非必选项,选择节点,可以根据节点想部署到那天机器上,如图所示。,这期讲解集群k8s部署springboot项目。因为部署方式已经在单体中讲过,现在。原创 2023-01-16 13:37:43 · 1008 阅读 · 0 评论 -
linux部署KubeSphere和k8s集群
然后重启docker:systemctl restart docker.service。进入 /etc/docker,没有daemon.json文件就自己新建一个。配置镜像---一定要配置,不然k8s启动各种报错,已尝试。docker版本要超过19.3.8 +原创 2023-01-15 13:01:59 · 733 阅读 · 0 评论 -
linux 中用rancher k8s 部署springboot项目
在/usr/local/project/目录下上传demo.jar架包,项目jdk使用11,并且上传后执行命令:chmod 777 demo.jar。如图所示,选择新建的集群k8s-boot,点击Default,找到命名空间,新建test命名空间。步骤:点击自己创建的k8s-boot集群--》Default---》工作负载---》部署服务。如图所示:已经成功再部署一台,并部署在k8s-master这台机器上。----这里的tag版本号是v1。然后点击项目名称---》找到日志。原创 2023-01-11 11:50:44 · 786 阅读 · 0 评论 -
linux部署KubeSphere和k8s单节点
KubeSphere是在Kubernetes之上构建的面向云原生应用的分布式操作系统,容器引擎QKE在QingCloud公有云上交付,完全开源,支持多云与多集群管理,提供全栈的IT自动化运维能力,简化企业的DevOps工作流。KubeSphere定位是以应用为中心的容器平台,提供简单易用的操作界面,一定程度上降低了学习成本,同时集成了原生istio等功能,更加符合开发的使用习惯。同时提供了集成开源监控、日志、Git CI的能力,虽然学习成本较高,但提供了一站式的解决方案,对运维更加友好。原创 2022-12-17 13:14:06 · 1262 阅读 · 0 评论 -
java 中台架构设计
DDD包括战略设计和战术设计两部分,它们分别从不同的视角出发,完成领域建模和微服务的拆分和设计。战略设计是从业务视角出发,划分业务的领域边界,建立基于通用语言和业务上下文语义边界的界限上下文,构建领域模型。而界限上下文就可以作为微服务拆分和设计的边界。战术设计则是从技术视角出发,侧重于对领域模型的技术实现,按照领域模型完成微服务的开发和落地。在战术设计上会有聚合、聚合根、实体、值对象、领域服务、领域时间、应用服务、仓储等领域对象,这些领域对象会以代码的形式映射到微服务中,完成设计和系统落地。原创 2022-12-17 11:18:06 · 845 阅读 · 0 评论 -
java DDD领域分层架构设计思想
优点:相比于三层方式,更关注领域服务,即业务核心逻辑的划分、收敛缺点:分层复杂, 如果业务逻辑简单没有必要适应场景:业务复杂的业务原创 2022-12-17 10:55:49 · 2447 阅读 · 0 评论 -
java 项目--》阿里分层架构设计和实现
这是显而易见的,明明我们可以在接收到请求后直接查询和操作数据库,却偏偏在中间插入了多个层次,并且每个层次可能只是简单的做数据传递,有时候增加一个小小的需求也可能要修改一整个链路上的代码,这个时候如果还增加了同事的负担那一定是会引来不少吐槽的。大家开发过的系统中应该都有一个用户服务,最基本的接口就是查询用户信息接口,它的请求链路是,DTO -> Controller -> Service . DTO层接收前端传入的请求参数,序列化后传入给 Controller层调用Service层接口。原创 2022-12-17 10:28:37 · 1466 阅读 · 0 评论 -
java netty
等待补充,先参考:面试题-Netty篇 - 泉水姐姐。 - 博客园原创 2022-12-17 10:20:15 · 210 阅读 · 0 评论 -
Java 编程性能调优
JDK 是 Java 语言的基础库,熟悉 JDK 中各个包中的工具类,可以帮助你编写出高性能代码。课程从基础的数据类型讲起,涉及容器在实际应用场景中的调优,还有现在互联网系统架构中比较重要的网络通信调优。为了保证线程的安全性,通常会用到同步锁,这会为系统埋下很多隐患;除此之外,还有多线程高并发带来的性能问题,这些都会在这个层级重点讲解。Java 应用程序是运行在 JVM 之上的,对 JVM 进行调优可以提升系统性能。数据库最容易成为整个系统的性能瓶颈,这里刘超会重点解析一些数据库的常用调优方法。原创 2022-11-28 00:07:34 · 1270 阅读 · 0 评论 -
springcloud 项目搭建---》自己用
服务和模块介绍:应用服务 bankintegral-boot-server主要包括 token解析、用户uri权限拦截、日志、黑白名单等功能。认证模块: bankintegral-oauth主要包括 登录接口、获取用户权限接口、常用数据接口(如前端获取的字典、枚举接口)等接口和功能。权限模块: bankintegral-authority主要包括 组织机构管理、岗位管理、用户管理、系统设置、权限配置等功能。文件模块: bankintegral-file。原创 2022-10-20 14:56:26 · 834 阅读 · 0 评论 -
数据签名和数据加密区别
A的签名只有A的公钥才能解签,这样B就能确认这个信息是A发来的;也就是保证整个过程的端到端的唯一确定性,这个信息是A发出的(不是别人),且是发给B的,只有B才被获得具体内容(别人就算截获信息也不能获得具体内容)。数据加密使用的是接受方的密钥对,任何知道接受方公钥的都可以向接受方发送消息,但是只有拥有私钥的才能解密出来;2、得到解密后的明文后用A的公钥(PUB_A)解签A用A自己的私钥(PRI_A)的签名。密钥有公钥和私钥之分。1、用自己的私钥(PRI_B)解密A用B的公钥(PUB_B)加密的内容;原创 2022-09-22 14:45:53 · 655 阅读 · 0 评论 -
https ssl单项认证和双向认证以及证书生成
非对称加密: 加密和解密使用不同的密钥,这两个密钥形成有且仅有唯一的配对,叫公钥和私钥。(3)客户端读取CA证书的明文信息,采用相同的hash散列函数计算得到信息摘要(hash目的:验证防止内容被修改),然后用操作系统带的CA的公钥去解密签名(因为签名是用CA的私钥加密的),对比证书中的信息摘要。(3)客户端读取CA证书的明文信息,采用相同的hash散列函数计算得到信息摘要(hash目的:验证防止内容被修改),然后用操作系统带的CA的公钥去解密签名(因为签名是用CA的私钥加密的),对比证书中的信息摘要。原创 2022-09-21 18:11:48 · 1206 阅读 · 0 评论 -
使用fiddler实现PC端和手机端抓包
本人已测试当前只能抓取window本机http、https、以及手机端游览器网页http以及https、部分APP使用了http的请求重点:尤其手机设置了代理,放了fiddler证书也没用,app判断有代理就无法连接网络,所以无法抓取,尤其银行app、绝大多数都不行,知乎等某些app是可以的。android系统可以尝试一下PC端操作1、下载fiddler并安装官网下载2、设置https手机上的应用很多涉及到个人信息,采用比较安全的HTTPS加密过,而fiddler默认只捕获http会话而不抓原创 2022-06-19 01:08:25 · 4245 阅读 · 1 评论 -
linux centos8 yum已停止更新相应依赖解决方法
centos系统在安装某些yum依赖都会报错,是因为CentOS 开发团队在其官博宣布不在维护,已于2022暂停维护,接下来一年会把重心放到 CentOS Stream 上一般报错内容如下:Errors during downloading metadata for repository 'epel': - Status code: 404 for http://archives.fedoraproject.org/pub/archive/epel/8/Everything/x86_64/repod原创 2022-06-12 21:39:59 · 1039 阅读 · 0 评论 -
jenkins构建---使用钉钉机器人通知
1、钉钉配置机器人【操作步骤】:群设置---->智能群助手---->添加机器人---->自定义机器人(填写机器人名称、安全设置、协议,复制webhook)会自动生成webhook,可以复制下来,在Jenkins配置中使用。完成后显示Webhook,在jenkins中使用:2、Jenkins安装插件、配置机器人(1)、【插件安装步骤】:系统管理---->插件管理---->可选插件,搜索“DingTalk”,下载并重启Jenkins,使插件有效。 (2)、【Jenkins配置钉钉机器人步骤】:系统原创 2022-06-05 00:30:15 · 443 阅读 · 0 评论 -
挖矿kdevtmpfsi病毒处理
通过top命令可以看到kdevtmpfsi导致CPU 700%多,导致该病毒只要是通过redis漏洞进来的。1、该病毒还有守护进程,如果光kill掉该病毒,过段时间又起来的。守护进程:kinsing2、该病毒还有定时任务、如果光杀死kdevtmpfsi和kinsing没有用,定时任务会再度重启这两个进程。解决办法:1、设置redis只对当前服务器或者指定服务器放开。取消掉 bind 0.0.0.0 设置 bind 127.0.0.1 或者加其他ip ,2、crontab -l ----》可以在...原创 2022-05-14 21:10:02 · 1025 阅读 · 0 评论 -
linux卸载服务
1、卸载redisrpm -qa | grep redisredis-5.0.3-5.module_el8.4.0+955+7126e393.x86_64卸载命令:rpm -eredis-5.0.3-5.module_el8.4.0+955+7126e393.x86_64如果卸载有依赖命令如下:rpm -eredis-5.0.3-5.module_el8.4.0+955+7126e393.x86_64 --nodeps foo 2、...原创 2022-04-19 15:15:25 · 1699 阅读 · 0 评论 -
jenkins构建android并发布到蒲公英平台
讲解:android-sdk好比是java中的jdk,grade好比是java中的maven这里不在讲解安装jdk11以及git1、第一步安装android-sdk (在前面博文中已经介绍了安装方式)在jenkins---》系统管理---》系统配置-----》全局属性-----》环境变量设置键:ANDROID_HOME值:/usr/local/soft/android-sdk ----android-sdk安装路径2、配置grade系统配置---》全局系统配置---》找到grade...原创 2022-04-16 17:50:20 · 2732 阅读 · 0 评论 -
jenkins使用环境变量以及根据环境变量if单条件判断和多条件判断
需求1、当我们一个jenkins构建dev、test、pre等环境是,我们可能构建三个jenkins构建,当我们想用一个构建发布到不同环境时的需求2、当我们要对构建出的东西是可变的变量时,可以用这个。1、第一步,构建jenkins服务,选择general选项------》找到添加参数-----》找到选项参数这里有三个框名称:就是变量的名称,这里我们填写ENV选项:这里我们填写变量的值描述:就是对变量值的描述设置如下:如图效果:2、执行shell打印变量参数 echo ...原创 2022-04-16 16:14:06 · 5930 阅读 · 0 评论 -
linux部署k8s
Kubernetes(常简称为K8s)是用于自动部署、扩展和管理容器化(containerized)应用程序的开源系统。它旨在提供“跨主机集群的自动部署、扩展以及运行应用程序容器的平台”。它支持一系列容器工具,包括Docker等。Kubernetes在设计结构上定义了一系列的构建模块,其目的是为了提供一个可以共同提供部署、维护和扩展应用程序的机制。组成Kubernetes的组件设计概念为松耦合和可扩展的,这样可以使之满足多种不同的工作负载。可扩展性在很大程度上由Kubernetes API提供,此API主要原创 2022-04-05 23:53:04 · 926 阅读 · 0 评论 -
jenkins远程部署方式2
以前使用原始的ssh 远程发送文件、执行脚本等操作,今天带领大家使用jenkins工具Publish over SSH提前工作:根据我以前博客在jenins这台机器生成公钥和私钥,将公钥发送到远程服务器上。基本步骤如下:(1)、安装插件Publish over SSH(2)、系统配置中配置SSH(3)、JOB中配置Publish over SSH1、系统配置(系统管理---》系统配置)注意:私钥指的是Jenkins主机上生成的私钥,公钥在上面已经发送给被远程主机了。 Passphr.原创 2022-04-05 15:28:57 · 1987 阅读 · 0 评论 -
微服务的哪些事
微服务拆分没有一个绝对正确的方案,服务拆分的粒度完全要根据业务场景来规划,而随着业务的发展,原先的架构方案也需要做调整。既然没有标准答案,要讲解方法和原则的。拆分方案分为压力、业务压力模型拆分业务模型拆分1 压力模型拆分压力模型简单来说就是用户访问量,我们要识别出某些超高并发量的业务,尽可能把这部分业务独立拆分出来。这么做的原因非常简单,高并发业务相当于前线战场,战况非常激烈,如果我方部署兵力不够(服务器资源),而敌方攻势又过于猛烈(剁手族们疯狂的流量),万一战线失手了服务器压力抵挡不住,我们不原创 2022-01-22 22:56:31 · 377 阅读 · 0 评论 -
linux https中使用阿里云加速
阿里云加速也是CDN,解决因分布、带宽、服务器性能带来的访问延迟问题,适用于站点加速、点播、直播等场景,主要是静态图片,文件等等环境参数:1.一个二级域名 test-wanli.com2.在阿里云上购买一个https服务...原创 2020-06-22 21:53:27 · 439 阅读 · 0 评论 -
linux centos 8安装confluence软件
准备工作:1.下载confluence(/nice1/soft目录下--该目录是挂载磁盘)下载地址,https://www.atlassian.com/software/confluence/download原创 2020-05-31 17:28:33 · 1293 阅读 · 0 评论 -
linux 挂载磁盘和格式化以及分区
解决的问题的是?在购买完阿里云服务器后,1.比如当服务器装上jenkins等大型软件后,在构建安卓打包或者有很多项目时候2.或者项目中log日志等用shell登录阿里云服务,使用命令 df -h 查看磁盘情况首先到根目录下 cd /然后使用命令du -h --max-depth=1 或者du -sh *可以看到root目录和usr目录占了很大空间,然后我们逐一到每个路径下查看文件的大小。就可以排查出什么东西占用较多文件当硬盘中的数据有用时,就需要挂载磁盘。阿里云挂载方法如下:https..原创 2020-05-28 14:23:56 · 320 阅读 · 0 评论 -
jenkins 部署前端项目Vue
等待完善自己博文文章来源:jenkins自动化部署vue_Jeffery的博客-CSDN博客_jenkins vuejenkins脚本vue H5页面部署情况第一种情况npm install &&npm run prod_build##自动备份Date=`date "+%Y-%m-%d-%H:%M:%S"`cp /mnt/jenkins/workspace/online_client_im_pc_web/dist_client_im_pc_web/client_im_pc_原创 2020-05-14 11:27:33 · 803 阅读 · 0 评论 -
jenkins java jar文件 本地部署/远程部署
原创 2020-05-04 18:13:56 · 629 阅读 · 0 评论 -
jenkins 用户权限以及视图权限
原创 2020-05-04 18:16:02 · 1678 阅读 · 0 评论 -
linux centos 定时任务
本次使用centos 8系统1.创建脚本(/usr/local/test/目录下)创建删除文件 touch 1.txt创建脚本 touch test.shvi test.sh#! /bin/bashecho "hello world"rm -rf /usr/local/test/1.txtecho "删除成功"保存成功后,给文件增加可执行权限 chmod +x /e...原创 2020-03-28 10:23:03 · 303 阅读 · 0 评论 -
RabbitMQ集群搭建
详见转载地址:https://www.cnblogs.com/shihaiming/p/11014257.html原创 2020-02-11 12:00:00 · 204 阅读 · 0 评论 -
高并发下如何快速使用MQ实现缓冲流量,削峰填谷
为什么使用原因是?服务之间的传递常用的调用就是直接调用(RPC框架)和消息MQ推送两种,但是都有一个缺点,下游消息接收方无法控制到达自己的流量,如果调用方不限速,很有可能把下游压垮。举个例子,秒杀业务:上游发起下单操作下游完成秒杀业务逻辑(库存检查,库存冻结,余额检查,余额冻结,订单生成,余额扣减,库存扣减,生成流水,余额解冻,库存解冻等等)上游下单业务简单,每秒发起了100...原创 2020-02-04 20:34:17 · 2614 阅读 · 0 评论 -
TCC分布式事务
首先讲解下两段提交协议与三段提交协议以及弊端两段提交协议:一个是准备阶段,一个是提交阶段,准备阶段锁定资源,但并不提交,提交阶段要么成功要么失败,是强事务三段提交协议:在两段提交协议中增加了一个询问阶段,询问阶段可以确保尽可能早的发现无法执行操作而需要中止的行为,但是它并不能发现所有的这种行为,只会减少这种情况的发生,属于强事务两阶段提交协议弊端(缺点):如果协调者宕机,参与者没有协调者指挥,则会...原创 2020-01-19 18:20:34 · 258 阅读 · 0 评论 -
springcloud之微服务Hystrix 组件原理实现
springcloud常用组件1、服务注册与发现:Eureka2、服务网关: Zuul3、服务负载均衡:Ribbon4、服务之间调用:Feign5、服务熔断:Hystrix---因官网不继续维护,可以使用阿里提供的Alibaba Sentinel轻量级的流量控制、熔断降级 Java 库6、配置中心:config---如果不想自己维护,可以使用阿里云nacos作为配置中...原创 2019-12-25 20:42:14 · 845 阅读 · 1 评论 -
限流之漏桶算法和令牌桶算法实现区别
问题描述?某天A君突然发现自己的接口请求量突然涨到之前的10倍,没多久该接口几乎不可使用,并引发连锁反应导致整个系统崩溃。如何应对这种情况呢?生活给了我们答案:比如老式电闸都安装了保险丝,一旦有人使用超大功率的设备,保险丝就会烧断以保护各个电器不被强电流给烧坏。同理我们的接口也需要安装上“保险丝”,以防止非预期的请求对系统压力过大而引起的系统瘫痪,当流量过大时,可以采取拒绝或者引流等机制。1、漏...原创 2019-12-24 20:02:03 · 1458 阅读 · 0 评论 -
springcloud之微服务zuul/GateWay组件实现
springcloud常用组件1、服务注册与发现:Eureka2、服务网关: Zuul3、服务负载均衡:Ribbon4、服务之间调用:Feign5、服务熔断:Hystrix---因官网不继续维护,可以使用阿里提供的Alibaba Sentinel轻量级的流量控制、熔断降级 Java 库6、配置中心:config---如果不想自己维护,可以使用阿里云nacos作为配置中...原创 2019-12-24 17:57:58 · 1005 阅读 · 1 评论 -
springcloud之微服务Fegin组件原理实现
springcloud常用组件1、服务注册与发现:Eureka2、服务网关: Zuul3、服务负载均衡:Ribbon4、服务之间调用:Feign5、服务熔断:Hystrix---因官网不继续维护,可以使用阿里提供的Alibaba Sentinel轻量级的流量控制、熔断降级 Java 库6、配置中心:config---如果不想自己维护,可以使用阿里云nacos作为配置中心...原创 2019-12-22 20:41:06 · 1104 阅读 · 0 评论 -
springcloud之微服务Eureka组件原理实现
springcloud常用组件1、服务注册与发现:Eureka2、服务网关: Zuul3、服务负载均衡:Ribbon4、服务之间调用:Feign5、服务熔断:Hystrix ---因官网不继续维护,可以使用阿里提供的Alibaba Sentinel轻量级的流量控制、熔断降级 Java 库6、配置中心:config ---如果不想自己维护,可以使用阿里云nacos作为配置中心1...原创 2019-12-21 20:42:58 · 702 阅读 · 1 评论 -
mysql、mondodb、hbase、elasticsearch的区别
总结如下:mysql 优点:1、性能卓越服务稳定,很少出现异常宕机2、因小巧安装复杂度低和使用方面以及执行速度快3、开发入门门槛低4、适合关系型数据表维护5、有丰富的sql语句和聚合函数以及多种数据类型6、有各种索引7、适合强事务类型业务缺点:1.不适合T级别数据存储2、数据扩展困难3、不适合高并发写4、模糊查询性能差5、模式不自由适合场景:关系型数据,数据量小数据mong...原创 2019-11-26 11:59:20 · 764 阅读 · 1 评论 -
Elasticsearch学习03
目前Elasticsearch服务环境搭建好了,我们开始快速学习它第一步:利用搭建好的服务器使用postman进行学习基本语法(增删改查)以及名词解释http://www.ruanyifeng.com/blog/2017/08/elasticsearch.html第二步:学习官网,深入理解更多语法(结合postman一起使用)https://es.xiaoleilu.com/010_Intro/0...原创 2019-11-24 15:17:39 · 99 阅读 · 0 评论