
系统架构
文章平均质量分 73
Xeon-Shao
这个作者很懒,什么都没留下…
展开
-
简说设计模式——外观模式
此后客户端代码将不会受到任何由子系统代码修改而造成的影响, 比如子系统升级后, 你只需修改外观中的代码即可。如果要用这些对象完成有意义的工作, 你必须深入了解子系统的实现细节, 比如按照正确顺序初始化对象和为其提供正确格式的数据。与直接调用子系统相比, 外观提供的功能可能比较有限, 但它却包含了客户端真正关心的功能。如果你的程序需要与包含几十种功能的复杂库整合, 但只需使用其中非常少的功能, 那么使用外观模式会非常方便,如果你需要一个指向复杂子系统的直接接口, 且该接口的功能有限, 则可以使用外观模式。转载 2025-02-13 14:21:44 · 60 阅读 · 0 评论 -
Redis 的开发规范和常见问题 | 学习笔记
快速学习 Redis 的开发规范和常见问题开发者学堂课程【转载 2024-07-25 17:19:14 · 194 阅读 · 0 评论 -
史上最全的Maven Pom文件标签详解
史上最全的Maven Pom文件标签详解转载 2022-10-12 15:57:59 · 670 阅读 · 0 评论 -
Spring配置mybatis多数据源时报expected single matching bean but found 2: xxxTemplate,xxxxTemplate
后来使用了自定义AbstractRoutingDataSource实现类的方式,解决了这个问题。因为使用AbstractRoutingDataSource自定义实现类后,datasource配置文件中只需要配置一个transactionTemplate就可以了,就不存在这个问题了。今天遇到奇奇怪怪的需求,本来连接一个数据的项目,现在要改成连接两个数据库,可是照着其他一个双数据源的项目配置完之后,项目直接启动不了了。可以看到是创建bean的时候,本来只需要一个匹配的bean,但是却找到2个,所以报错了。原创 2022-09-27 19:29:50 · 634 阅读 · 0 评论 -
zookeeper3.5.x版本启动报错java.io.IOException: No snapshot found, but there are log entries.解决
一、背景最近使用zookeeper比较多,而且存在3.4.x版本和3.5.x版本交替使用的情况,结果用着用着3.5.x版本的zookeeper就无法启动了,直接闪退报错如下java.io.IOException: No snapshot found, but there are log entries. Something is broken!二、原因原因比较简单,就是3.4.x版本和3.5.x版本配置的dataDir路径是相同的,冲突了三、解决办法关闭zookeeper原创 2021-05-13 15:27:02 · 2036 阅读 · 0 评论 -
没有Dubbo Admin,怎么查看zookeeper中注册的dubbo服务?
原创 2021-05-13 15:17:09 · 2485 阅读 · 1 评论 -
Zookeeper启动闪退可能原因及解决方案
在windows下执行zkServer.cmd启动Zookeeper闪退,可以在启动脚本添加一行pause让窗口不消失,方便查看报错信息主要有以下两种报错1.问题现象(1)找不到配置文件(2)提示找不到或无法加载主类找不到或无法加载主类 org.apache.zookeeper.server.quorum.QuorumPeerMain2.问题原因(1)zookeeper目录下,conf目录下,没有zoo.cfg配置文件(2)下载的zookeeper包是未编译的包原创 2021-03-12 16:35:27 · 3160 阅读 · 0 评论 -
Nginx代理介绍、安装及配置详解
nginx概述nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、POP3、SMTP代理服务器;nginx可以作为一个HTTP服务器进行网站的发布处理,另外nginx可以作为反向代理进行负载均衡的实现。这里主要通过三个方面简单介绍nginx反向代理 负载均衡 nginx特点1. 反向代理关于代理说到代理,首先我们要明确一个概念,所...转载 2019-11-25 16:56:55 · 301 阅读 · 0 评论 -
Spring异常重试框架Spring Retry
在调用第三方接口或者使用mq时,会出现网络抖动,连接超时等网络异常,所以需要重试。为了使处理更加健壮并且不太容易出现故障,后续的尝试操作,有时候会帮助失败的操作最后执行成功。例如,由于网络故障或数据库更新中的DeadLockLoserException导致Web服务或RMI服务的远程调用可能会在短暂等待后自行解决。 为了自动执行这些操作的重试,Spring Batch具有RetryOperatio...转载 2019-09-11 14:47:05 · 449 阅读 · 0 评论 -
解决MySQL8小时自动断开连接的问题(DBCP配置)
背景最近做的一个JavaWeb项目,持久层用SpringJDBC+DBCP+MySQL。一开始只配置了DBCP的一些常用参数,没有注意对空闲连接的检查和回收。项目部署在tomcat后,刚开始使用没用问题。第二天再试图登录时,发生了报错:HTTP Status 500 - Request processing failed; nested exception is org.springfr...转载 2019-08-15 14:06:32 · 947 阅读 · 0 评论 -
Apollo使用指南(二)公共组件接入指南
2.1 公共组件和普通应用的区别公共组件是指那些发布给其它应用使用的客户端代码,比如CAT客户端、Hermes Producer客户端等。虽然这类组件是由其他团队开发、维护,但是运行时是在业务实际应用内的,所以本质上可以认为是应用的一部分。(前提是这些组件也使用apollo进行动态配置)通常情况下,这类组件所用到的配置由原始开发团队维护,不过由于实际应用的运行时、环境各不一样,所以...转载 2019-05-27 19:00:04 · 1764 阅读 · 0 评论 -
Apollo使用指南(一)普通应用接入指南
写在前面: 最近在学习apollo方面的知识,apollo目前托管在GitHub上,相关文档也主要在GitHub上。出于学习的需要,也因为最近众所周知的旧问题和新阻碍,为了能更方便和稳定的访问到这些内容,遂对官方文档作一个整理,其中可能会加入自己的一些理解,文中所有有关官方文档中的内容所有权归原作者所有,理解内容(如果有的话)所有权归我所有。 准备好了吗?嘟嘟嘟...转载 2019-05-27 16:31:26 · 4999 阅读 · 0 评论 -
windows10使用VMvare Pro开启虚拟机提示与Device/Credential Guard不兼容
今天在安装VMvare准备安装linux虚拟机时,启动虚拟机时出现与Device/Credential Guard不兼容,无法启动的提示。百度之后,大家都说在控制面板--》程序和功能--》启用和关闭windows功能--》取消勾选Hyper-v。然后管理员运行power shell 运行bcdedit /set hypervisorlaunchtype off之后,重启电脑。...原创 2018-10-31 15:11:18 · 7480 阅读 · 0 评论 -
【架构】分布式追踪系统设计与实现
分布式系统为什么需要 Tracing? 先介绍一个概念:分布式跟踪,或分布式追踪。 电商平台由数以百计的分布式服务构成,每一个请求路由过来后,会经过多个业务系统并留下足迹,并产生对各种Cache或DB的访问,但是这些分散的数据对于问题排查,或是流程优化都帮助有限。对于这么一个跨进程/跨线程的场景,汇总收集并分析海量日志就显得尤为重要。要能做到追踪每个请求的完整调用链路,收集调用链路上每...转载 2018-09-29 23:58:20 · 429 阅读 · 0 评论 -
dubbo分布式系统链路追踪_zipkin
基础知识储备分布式跟踪的目标一个分布式系统由若干分布式服务构成,每一个请求会经过多个业务系统并留下足迹,但是这些分散的数据对于问题排查,或是流程优化都很有限,要能做到追踪每个请求的完整链路调用,收集链路调用上每个服务的性能数据,计算性能数据和比对性能指标(SLA),甚至能够再反馈到服务治理中,那么这就是分布式跟踪的目标。分布式跟踪的目的zipkin分布式跟踪系统的目的:...转载 2018-09-29 23:18:03 · 526 阅读 · 0 评论 -
深入理解分布式事务
本文转自http://www.codeceo.com/article/distributed-transaction.html,所有权力归原作者所有。我在上一期介绍了spring的事务原理(详情见《深入理解spring事务原理》),Spring事务本质是单机下的事务,是由数据库本身保证的。今天,我将介绍一种比较复杂的事务:分布式事务。1、什么是分布式事务分布式事务就是指事务的参与者、支...转载 2018-09-29 23:14:01 · 207 阅读 · 0 评论 -
蚂蚁技术专家:一篇文章带你学习分布式事务
本文转自http://server.it168.com/a2018/0623/3210/000003210898.shtml,所有权力归原作者所有。小蚂蚁说: 分布式事务是企业集成中的一个技术难点,也是每一个分布式系统架构中都会涉及到的一个东西,特别是在这几年越来越火的微服务架构中,几乎可以说是无法避免,本文就围绕分布式事务各方面与大家进行介绍。 一. 事务 1.1 什么是事...转载 2018-09-29 22:50:47 · 203 阅读 · 1 评论 -
为什么大公司一定要使用DevOps?
0 DevOps的意图究竟什么是DevOps? 要想回答这个问题,首先要明确DevOps这个过程参与的人员是谁?即开发团队和IT运维团队!那么,DevOps的意图是什么呢?即在两个团队之间,建立良好的沟通和协作,更快更可靠的创建高质量软件!事实上,并不是这两个团队之间的协作帮助交付了更好的软件,而是“开发”和“运维”团队之间的统一导致了软件的改进,并以更快的速度交付。我们不要忘记DevOp...转载 2018-10-08 17:13:09 · 1655 阅读 · 0 评论 -
MyCAT全局序列号-数据库方式
1.MyCat中的全局序列号介绍在实现分库分表的情况下,数据库自增主键已无法保证自增主键的全局唯一。为此,MyCat 提供了全局 sequence,并且提供了包含本地配置和数据库配置等多种实现方式。2.数据库方式原理:在数据库中建立一张表,存放 sequence 名称(name),sequence 当前值(current_value),步长(increment int 类型每次读取多少...转载 2018-10-08 17:03:05 · 373 阅读 · 0 评论