欢迎您光临本小站。希望您在这里可以找到自己想要的信息。。。

 分类:编程乐园

程序人生,不多说,程序员们懂得。。。技术、坚持、努力、分享。。

Java中动态规则的实现方式

Java中动态规则的实现方式
背景 业务系统在应用过程中,有时候要处理“经常变化”的部分,这部分需求可能是“业务规则”,也可能是“不同的数据处理逻辑”,这部分动态规则的问题,往往需要可配置,并对性能和实时性有一定要求。 Java不是解决动态层问题的理想语言,在实践中发现主要有以下几种方式可以实现...

water 1个月前 (08-18) 426℃ 0评论 0喜欢

系统幂等设计浅谈

系统幂等设计浅谈
幂等设计在分布式系统设计中占有很重要的地位,是实现数据一致性和事务完整性的重要手段。近期在优化交易系统,系统中很多地方用到了幂等设计,遂对其进行了总结。 幂等定义: 在编程中一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数,或幂等方法,...

water 2个月前 (07-28) 527℃ 0评论 2喜欢

分布式系统中的“无状态”和“有状态”详解

分布式系统中的“无状态”和“有状态”详解
「数据一致性」和「高可用」其实本质是一个通过提升复杂度让整体更完善的方式。 本文主要讲一些让系统更简单,更容易维护的东西——「易伸缩」,首当其冲的主题就是「stateless」,也叫「无状态」。 服务的“状态” 无状态的服务 客户端的每次请求必须具备自描...

water 2个月前 (07-28) 501℃ 0评论 0喜欢

Pipeline设计模式,确定不了解一下?

Pipeline设计模式,确定不了解一下?
Pipeline设计模式是我在来新公司才接触到的,也是在项目上广泛使用的一种东西。觉得挺有意思的,所以写一篇文章向大家介绍一下,希望大家喜欢。 需求 前几天小明接到一个需求,要开发一个“简单”的支付处理流程,用来处理用户下单后的一系列处理流程。这个处理流程有很多环节...

water 2个月前 (07-28) 532℃ 0评论 0喜欢

限流熔断技术选型:从 Hystrix 到 Sentinel

限流熔断技术选型:从 Hystrix 到 Sentinel
导读:随着微服务的流行,熔断作为其中一项很重要的技术也广为人知。当微服务的运行质量低于某个临界值时,启动熔断机制,暂停微服务调用一段时间,以保障后端的微服务不会因为持续过负荷而宕机。本文整理自对限流降级开源项目Sentinel项目组成员子衿和宿何的专访。 子矜,阿里巴巴高...

water 2个月前 (07-28) 571℃ 0评论 0喜欢

限流、熔断与降级

限流、熔断与降级
限流、熔断与降级 在我们进行系统设计时,必须要考虑系统的高性能、高并发、高可用。本文分享的是关于高可用的三大利器:熔断、限流、降级,我们使用通俗、易懂的语句将三个概念讲清楚。 限流、熔断与降级,此三者都是流量过大时,通过一定的方式去保护系统的手段,是应对海量服务的三...

water 2个月前 (07-28) 537℃ 0评论 0喜欢

redis大key问题

redis大key问题
redis大key问题 为啥不能有大key;有一些方法,避免大key;有大key,安全删除大key; what: 什么是大key问题 就是一个key的value特别大,比如一个hashmap中存了超多k,v;或者一个列表key中存了超长列表,等等;多大算大: ...

water 2个月前 (07-26) 530℃ 0评论 0喜欢

浅谈Log4j2日志框架及使用

浅谈Log4j2日志框架及使用
1.日志框架 日志接口(slf4j)slf4j是对所有日志框架制定的一种规范、标准、接口,并不是一个框架的具体的实现,因为接口并不能独立使用,需要和具体的日志框架实现配合使用(如log4j、logback)日志实现(log4j、logback、log4j2)log4j是a...

water 3个月前 (07-05) 535℃ 0评论 17喜欢

Log4j2与Slf4j的最佳实践

Log4j2与Slf4j的最佳实践
前言 日志对于项目的重要性不言而喻,现在市面上的日志框架多种多样:Log4j、Log4j2、Slf4j、JDKLog、Logback等等,如果没有真正深入了解过,可能会被搞得眼花缭乱。本文将介绍目前Java项目中最常见的Log4j2 + Slf4j的使用组合,这也是我自己...

water 3个月前 (07-05) 576℃ 0评论 0喜欢

Java在线诊断工具Arthas介绍

Java在线诊断工具Arthas介绍
Arthas是什么 Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。 当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 遇到问题无法在线上 debug,难道只...

water 3个月前 (07-02) 594℃ 0评论 0喜欢

关于TDD、BDD和DDD的一些看法

关于TDD、BDD和DDD的一些看法
在实际的项目中,我们可能随时面对各种不同的需求,它的各个方面的要素决定了我们所采用的开发模式。 比如,它的复杂度如何?所有的需求是否足够清晰?开发人员对相关的业务是否足够了解?项目的工期是否合理?种种问题,不一而足。这也决定了我们可能面对不同的需求可能需要采用不同的开发模...

water 3个月前 (07-01) 545℃ 0评论 0喜欢

学习Maven之Maven Enforcer Plugin

学习Maven之Maven Enforcer Plugin
1.Maven Enforcer plugin是什么鬼? 在说这个插件是什么前我们先思考这么一个问题:当我们开发人员进入项目组进行开发前,要准备开发环境,而领导总是会强调工具的统一,编译环境的统一。比如要求所有开发人员使用JDK1.8进行开发。 开发人员接下来就是去...

water 3个月前 (07-01) 563℃ 0评论 0喜欢

Log4j2异步日志

Log4j2异步日志
Log4j 2的异步日志详细介绍:Async Loggers Apache Log4j 2是对Log4j的升级,它比其前身Log4j 1.x提供了重大改进,并提供了Logback中可用的许多改进,同时修复了Logback架构中的一些固有问题。Log4jApache Log...

water 3个月前 (06-24) 562℃ 0评论 5喜欢

Linux下netstat命令详解

Linux下netstat命令详解
一、介绍 Netstat是控制台命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。 &n...

water 8个月前 (01-18) 487℃ 0评论 2喜欢

计算机网络——TCP的三次握手与四次挥手(超详细)

计算机网络——TCP的三次握手与四次挥手(超详细)
一、前言   今天刚看完《计算机网络——自顶向下方法》这本书的运输层这一章。直到今天我才知道,TCP协议居然有这么复杂(之前上课都没怎么认真听),这一章节总共七十多页,主要介绍UDP与TCP,但UDP的内容却只占不超过5页,大部分的篇幅都是在讲解TCP的机制。但是就算这样...

water 8个月前 (01-18) 512℃ 0评论 0喜欢