分天下为三十六郡,郡置守,尉,监” —— 《史记·秦始皇本纪》
所有用Maven管理的真实的项目都应该是分模块的,每个模块都对应着一个pom.xml。它们之间通过继承和聚合(也称作多模块,multi-module)相互关联。那么,为什么要这么做呢?我们明明在开发一个项目,...
water
3年前 (2021-10-20) 1452℃ 0评论
0喜欢
随着项目的不断发展,需求的不断细化与添加,代码越来越多,结构也越来越复杂,这时候就会遇到各种问题
不同方面的代码之间相互耦合,这时候一系统出现问题很难定位到问题的出现原因,即使定位到问题也很难修正问题,可能在修正问题的时候引入更多的问题。多方面的代码集中在一个整体结构中,...
water
3年前 (2021-10-20) 1668℃ 0评论
0喜欢
RPC框架主要组成:
通信框架通信协议序列化和反序列化格式
1 分类
RPC框架主要分为:
1.1 绑定语言平台
1.1.1 Dubbo
国内最早开源的RPC框架,由阿里巴巴公司开发并于2011年末对外开源,仅支持Java
架构
...
water
3年前 (2021-10-19) 1622℃ 0评论
0喜欢
idea去除无用的包_Maven项目分析剔除无用jar引用_空桑寂的博客-程序员宅基地
技术标签: idea去除无用的包
一、为什么要做这件事?
项目持续研发,不停地在上面新增功能,新增特性,引入新的框架和组件,jar包依赖多...
water
3年前 (2021-08-19) 3009℃ 0评论
15喜欢
本文主要介绍spring aop中9种切入点表达式的写法
executewithinthistargetargs@target@within@annotation@args
0. 示例代码git地址
https://gitee.com/likun_557/s...
water
3年前 (2021-08-18) 1762℃ 0评论
0喜欢
背景
业务系统在应用过程中,有时候要处理“经常变化”的部分,这部分需求可能是“业务规则”,也可能是“不同的数据处理逻辑”,这部分动态规则的问题,往往需要可配置,并对性能和实时性有一定要求。
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设计模式是我在来新公司才接触到的,也是在项目上广泛使用的一种东西。觉得挺有意思的,所以写一篇文章向大家介绍一下,希望大家喜欢。
需求
前几天小明接到一个需求,要开发一个“简单”的支付处理流程,用来处理用户下单后的一系列处理流程。这个处理流程有很多环节...
water
3年前 (2021-07-28) 2540℃ 0评论
1喜欢
导读:随着微服务的流行,熔断作为其中一项很重要的技术也广为人知。当微服务的运行质量低于某个临界值时,启动熔断机制,暂停微服务调用一段时间,以保障后端的微服务不会因为持续过负荷而宕机。本文整理自对限流降级开源项目Sentinel项目组成员子衿和宿何的专访。
子矜,阿里巴巴高...
water
3年前 (2021-07-28) 2138℃ 0评论
0喜欢
限流、熔断与降级
在我们进行系统设计时,必须要考虑系统的高性能、高并发、高可用。本文分享的是关于高可用的三大利器:熔断、限流、降级,我们使用通俗、易懂的语句将三个概念讲清楚。
限流、熔断与降级,此三者都是流量过大时,通过一定的方式去保护系统的手段,是应对海量服务的三...
water
3年前 (2021-07-28) 2138℃ 0评论
0喜欢
redis大key问题
为啥不能有大key;有一些方法,避免大key;有大key,安全删除大key;
what: 什么是大key问题
就是一个key的value特别大,比如一个hashmap中存了超多k,v;或者一个列表key中存了超长列表,等等;多大算大: ...
water
3年前 (2021-07-26) 2388℃ 0评论
0喜欢
1.日志框架
日志接口(slf4j)slf4j是对所有日志框架制定的一种规范、标准、接口,并不是一个框架的具体的实现,因为接口并不能独立使用,需要和具体的日志框架实现配合使用(如log4j、logback)日志实现(log4j、logback、log4j2)log4j是a...
water
4年前 (2021-07-05) 1915℃ 0评论
17喜欢
前言
日志对于项目的重要性不言而喻,现在市面上的日志框架多种多样:Log4j、Log4j2、Slf4j、JDKLog、Logback等等,如果没有真正深入了解过,可能会被搞得眼花缭乱。本文将介绍目前Java项目中最常见的Log4j2 + Slf4j的使用组合,这也是我自己...
water
4年前 (2021-07-05) 2086℃ 0评论
0喜欢
Arthas是什么
Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。 当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 遇到问题无法在线上 debug,难道只...
water
4年前 (2021-07-02) 1913℃ 0评论
0喜欢
在实际的项目中,我们可能随时面对各种不同的需求,它的各个方面的要素决定了我们所采用的开发模式。
比如,它的复杂度如何?所有的需求是否足够清晰?开发人员对相关的业务是否足够了解?项目的工期是否合理?种种问题,不一而足。这也决定了我们可能面对不同的需求可能需要采用不同的开发模...
water
4年前 (2021-07-01) 1788℃ 0评论
0喜欢
1.Maven Enforcer plugin是什么鬼?
在说这个插件是什么前我们先思考这么一个问题:当我们开发人员进入项目组进行开发前,要准备开发环境,而领导总是会强调工具的统一,编译环境的统一。比如要求所有开发人员使用JDK1.8进行开发。
开发人员接下来就是去...
water
4年前 (2021-07-01) 1832℃ 0评论
0喜欢
Log4j 2的异步日志详细介绍:Async Loggers
Apache Log4j 2是对Log4j的升级,它比其前身Log4j 1.x提供了重大改进,并提供了Logback中可用的许多改进,同时修复了Logback架构中的一些固有问题。Log4jApache Log...
water
4年前 (2021-06-24) 1996℃ 0评论
6喜欢
1, 电子商务ABC、B2B、B2C、C2C、B2M、M2C、B2A、C2A及O2O …
1、ABC = Agent、Business、Consumer。ABC 模式是新型电子商务模式的一种,被誉为继阿里巴巴 B2B 模式、京东商城 B2C 模式以及淘...
water
4年前 (2021-06-16) 2614℃ 0评论
3喜欢
Log4j2 类名与行名不显示问题异步日志,打印到文件中,显示的类名和行数都是”?”:
<AsyncLogger name="com.kingsoft.adx.database.dao" level="debug">
...
water
4年前 (2021-06-16) 2468℃ 0评论
1喜欢