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

 分类:编程乐园

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

Maven最佳实践:划分模块

Maven最佳实践:划分模块
分天下为三十六郡,郡置守,尉,监” —— 《史记·秦始皇本纪》 所有用Maven管理的真实的项目都应该是分模块的,每个模块都对应着一个pom.xml。它们之间通过继承和聚合(也称作多模块,multi-module)相互关联。那么,为什么要这么做呢?我们明明在开发一个项目,...

water 3年前 (2021-10-20) 1452℃ 0评论 0喜欢

Maven 多模块管理

Maven 多模块管理
随着项目的不断发展,需求的不断细化与添加,代码越来越多,结构也越来越复杂,这时候就会遇到各种问题 不同方面的代码之间相互耦合,这时候一系统出现问题很难定位到问题的出现原因,即使定位到问题也很难修正问题,可能在修正问题的时候引入更多的问题。多方面的代码集中在一个整体结构中,...

water 3年前 (2021-10-20) 1668℃ 0评论 0喜欢

Java微服务RPC选型Dubbo还是SpringCloud?

Java微服务RPC选型Dubbo还是SpringCloud?
RPC框架主要组成: 通信框架通信协议序列化和反序列化格式 1 分类 RPC框架主要分为: 1.1 绑定语言平台 1.1.1 Dubbo 国内最早开源的RPC框架,由阿里巴巴公司开发并于2011年末对外开源,仅支持Java 架构 ...

water 3年前 (2021-10-19) 1622℃ 0评论 0喜欢

Java中动态规则的实现方式

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

water 3年前 (2021-08-18) 2178℃ 0评论 0喜欢

系统幂等设计浅谈

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

water 3年前 (2021-07-28) 1884℃ 0评论 2喜欢

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

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

water 3年前 (2021-07-28) 2521℃ 0评论 1喜欢

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

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

water 3年前 (2021-07-28) 2540℃ 0评论 1喜欢

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

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

water 3年前 (2021-07-28) 2138℃ 0评论 0喜欢

限流、熔断与降级

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

water 3年前 (2021-07-28) 2138℃ 0评论 0喜欢

redis大key问题

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

water 3年前 (2021-07-26) 2388℃ 0评论 0喜欢

浅谈Log4j2日志框架及使用

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

water 4年前 (2021-07-05) 1915℃ 0评论 17喜欢

Log4j2与Slf4j的最佳实践

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

water 4年前 (2021-07-05) 2086℃ 0评论 0喜欢

Java在线诊断工具Arthas介绍

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

water 4年前 (2021-07-02) 1913℃ 0评论 0喜欢

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

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

water 4年前 (2021-07-01) 1788℃ 0评论 0喜欢

学习Maven之Maven Enforcer Plugin

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

water 4年前 (2021-07-01) 1832℃ 0评论 0喜欢

Log4j2异步日志

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

water 4年前 (2021-06-24) 1996℃ 0评论 6喜欢