- 博客(17)
- 收藏
- 关注

原创 Spring cloud gateway详解和配置使用
实际上hystrix也实现了这一点:当断路器打开,对主逻辑进行熔断之后,hystrix会启动一个休眠时间窗,在这个时间窗内,降级逻辑是临时的主逻辑,当休眠时间窗到期,断路器将进入半开状态,释放一次请求到原来的主逻辑,如果此次请求正常返回,那么断路器将进行闭合,主逻辑恢复,如果这次请求依然有问题,断路器继续进入打开状态,休眠时间窗重新计时。如果达到最大并发请求数,请求会被拒绝。通过上面的机制,hystrix的断路器实现了对依赖资源故障的处理,对降级策略的自动切换以及对主逻辑的自动恢复。
2025-03-24 17:13:32
2457
原创 【如何做好技术架构】
技术架构是企业架构的基础设施层,是对技术问题解决方案的结构化描述,由构成解决方案的组件结构及交互关系组成,其核心定位是为业务架构、数据架构、应用架构提供物理实现基础,将业务需求转化为可落地的技术方案,是一个资源调度中心,管理着硬件、网络、中间件等基础设施资源,技术架构不是孤立存在的,必须与业务目标、数据模型、应用服务协同设计。组件是系统的基本构建块,将系统分解为若干相互独立并且可复用的模块,接口定义了组件之间的通信方式,组件和接口的设计应该遵循高内聚低耦合的原则,以提高系统的灵活性和可维护性。
2025-06-09 11:51:51
371
原创 【如何做好应用架构?】
应用架构是企业的架构的骨架和神经,做好应用架构需要明确核心,理解业务需求和定义,优秀的架构能够显著的提升IT对业务变化的响应速度、降低系统复杂度和维护成本、增强系统的健壮性和安全性。基于现有的架构与现有架构的现状,设计新的架构,并且指定切实可行的演进路线,规划从现状迁移到目标状态的路径,明确分阶段实施的里程碑和优先级。应用架构是以业务为基础,为业务服务,并不是一成不变的,业务需求在变,技术发展也在变,需要定期审视架构的有效性,根据业务和技术的变化进行调整和优化。定义构成应用架构的基本构建块。
2025-06-05 15:58:27
922
原创 【如何做好数据架构?】
物理模型主要是在统一的标砖要求下,表、字段、关系必须与逻辑模型一致,确定数据类型,精度、长度、确定约束、索引、统一数据编码及使用规则,即对应的表字段的类型,长度,索引的建立,数据存储的分区存储规则等。逻辑模型是概念模型的衍生,是由概念模型转换而来的,以概念模型设计为基础,细化实体属性与关系,即表设计,表、列的关系,主键与外键约束,数据变更规则,例如删除数据,需同时删除关系。数据架构涉及数据模型、数据标准、数据质量、主数据、数据安全、元数据、数据分布等方面的管理,其中数据模型是重中之重。
2025-05-30 10:11:23
506
原创 【如何做好企业架构】
业务架构的作用是为了将用户与技术紧密的绑定在一起,在系统设计中,业务往往可以从业务视角剔除技术为关注的问题或者需求,可以帮助技术人员确定业务及技术边界,明确优先级,同时傍午技术深度理解业务需求,例如业务要求的实时,业务与技术理解的实时往往是不同的,业务的实时往往是可以接受短时间内的同步例如5分钟,这对于技术实现的成本完全是不一样的。思考:数据架构通常是架构设计中的重中之重,数据模型的建立通常影响系统的健壮性、扩展性、数据完全性,如何做好数据架构?企业架构又分为业务架构、数据架构、应用架构、技术架构。
2025-05-26 11:50:52
854
原创 【Promethus(普罗米修斯)介绍安装及使用】
Prometheus的配置文件是一个YAML格式的文件,包含了Prometheus的各种配置信息,配置文件放置在/usr/local/prometheus/目录下。e、在prometheus.yml中引入告警规则文件路径node_down.yml(注:node_down.yml和prometheus.yml配置在同一目录下)通过 JSON/YAML 文件静态配置目标列表。功能:接收 Prometheus Server 生成的告警,进行去重、分组、静默,并通过渠道(邮件、Slack 等)通知。
2025-04-24 15:40:09
1439
原创 【tomcat参数说明及优化】
启用Gzip压缩:Tomcat还支持使用Gzip对静态和动态内容进行压缩,可以通过配置压缩参数(compression、compressionMinSize)来启用Gzip压缩,减少网络传输的数据量,提高性能。监控和调优:Tomcat提供了管理界面(Tomcat Manager)和监控工具(JMX)来监控服务器的运行情况,可以通过这些工具来实时监控服务器的性能,并进行调优。通过以上方法和参数的调整,可以有效地优化Tomcat服务器的性能,提高应用程序的响应速度和吞吐量,为用户提供更好的体验。
2025-04-02 09:41:10
498
原创 【JVM】
1、JVM中类的加载是由ClassLoader和它的子类来实现的,Java ClassLoader是一个很重要的java运行时系统组件,他负责在运行时查找和装入类文件的类。2.复制算法:将内存按容量费为大小相等的两块区域,每次只使用其中的一块,当一块内存用完了,就将还存活的对象复制到另一块内存上面,然后吧使用过的那块内存统一清理掉。1、加载:加载是类加载过程中的一个阶段,这个阶段会在内存中生成一个代表这个类的java.lang.class对象,作为方法区这个类的各种数据的接口。
2025-04-01 15:48:20
323
原创 【redis详解】
2) active-defrag-cycle-max 75:表示自动清理过程所用 CPU 时间的比例不高于75%,一旦超过,就停止清理,从而避免在清理时,大量的内存拷贝阻塞 Redis,导致响应延迟升高。表明实际分配的内存小于申请的内存了,很显然内存不足了,这样会导致部分数据写入到Swap中,之后Redis访问Swap中的数据时,延迟会变大,性能会降低。比如你的web系统中有一个用户对象,不要为这个用户的名称,姓氏,邮箱,密码设置单独的key,而是应该把这个用户的所有信息存储到一张散列表里面。
2025-04-01 10:19:23
1357
原创 【docker使用手册】
以上是排查 Docker 问题的一些基本步骤,如果问题仍然存在,可以进一步检查 Docker 容器的环境和应用设置,以确定问题的根源并采取相应的解决方法。Docker 是一种开源的容器化平台,可以让开发人员打包应用程序及其依赖项成为一个独立的容器,然后部署到任何支持 Docker 的环境中运行。重启 Docker 服务:有时候简单的重启 Docker 服务就可以解决一些问题,可以尝试运行。命令查看所有容器的状态,包括运行中的容器和已停止的容器,以便定位具体有问题的容器。
2025-03-31 19:39:15
797
原创 【Zookeeper】
在ZooKeeper中所有的事务请求都由一个主服务器也就是Leader来处理,其他服务器为Follower,Leader将客户端的事务请求转换为事务Proposal,并且将Proposal分发给集群中其他所有的Follower,然后Leader等待Follwer反馈,当有过半数(>=N/2+1)的Follower反馈信息后,Leader将再次向集群内Follower广播Commit信息,Commit为将之前的Proposal提交;根据leader接收其他Server发送过来的消息的时间,来保证顺序性。
2025-03-31 13:55:58
1004
原创 Java基础
序列化的时候,所有字段都放在一个ArrayList里,然后依次写入到二进制流中,反序列化的时候,所有字段放在了一个HashMap里,HashMap的key不能重复,悲剧就出现了,如果子类和父类有同名的字段就会有问题,父类的值会把子类的值覆盖掉。也就是说,当一个 Map 填满了75%的 bucket 时候,和其它集合类一样(如 ArrayList 等),将会创建原来 HashMap 大小的两倍的 bucket 数组来重新调整 Map 大小,并将原来的对象放入新的 bucket 数组中。
2025-03-28 18:01:17
783
原创 【RocketMq详解】
Topic 是一种消息的逻辑分类,比如说你有订单类的消息,也有库存类的消息,那么就需要进行分类,一个是订单 Topic 存放订单相关的消息,一个是库存 Topic 存储库存相关的消息。5、Cousumer与produce相似,先是与NameServer建立连接,获取订阅的topic保存在哪些broker中,然后直接与broker建立连接,开始消费消息。消息消费者,简单来说,消费 MQ 上的消息的应用程序就是消费者,至于消息是否进行逻辑处理,还是直接存储到数据库等取决于业务需要。
2025-03-27 20:51:34
867
原创 git 常用命令整理
3、git pull origin master 这是下拉代码,将远程最新的代码先跟你本地的代码合并一下,如果确定远程没有更新,可以不用这个,最好是每次都执行以下,完成之后打开代码查看有没有冲突,并解决,如果有冲突解决完成以后再次执行1跟2的操作。在出现需要你输入新的merge信息的终端窗口,在最上面的提示句下有一行空格,按照链接的帮助,按”i”进入输入模式,随便输入个什么,然后 esc,直接输入”:wq”git push -u origin master //把本地仓库的文件推送到远程仓库。
2025-03-25 11:36:41
320
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人