
java
文章平均质量分 93
程序员顺仔
个人微信号 zs6105326
公众号 程序员顺仔和他的朋友们
欢迎志同道合之士一起交流
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
一款强大的API接口文档管理工具(Smart-Doc + Torna)
Smart-Doc + Torna的生成和管理接口文档解决方案只需写好注释、规范代码,就能通过对注释和实体类的解析来生成示例详尽的接口文档,适用范围很大;由于其对代码零侵入的特性,不用改动业务代码就能使用,对旧代码也很友好。原创 2022-12-20 12:00:30 · 2970 阅读 · 0 评论 -
SQL规范落地实践
本文由707同学供稿~1.概述数据库在各类生产系统中是不可或缺的中间件,SQL代码作为操作数据库的标准语法,在日常开发中使用比例非常高,几乎每个批次都会有产品涉及,但各开发人员对SQL开发技能的掌握程度参差不齐。为了规避开发技能不足,而引发SQL质量问题的风险,在最大程度上规范开发方法,由数据库专家团队从历史经验和业界优秀实践中总结出一套SQL代码开发规范。然而,无法落地的规范,只能是空中楼阁,为了能够让规范顺利落地,我们通过将规范内化在工具中,将一条条规范条文具象化、可验证化,以检查开发人原创 2021-08-28 23:41:51 · 822 阅读 · 1 评论 -
搞懂dubbo的SPI扩展机制
引言SPI 全称为 Service Provider Interface,是一种服务发现机制。SPI 的本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类。这样可以在运行时,动态为接口替换实现类。正因此特性,我们可以很容易的通过 SPI 机制为我们的程序提供拓展功能。在谈dubbo的SPI扩展机制之前,我们需要先了解下java原生的SPI机制,有助于我们更好的了解dubbo的SPI。java原生的SPI先上例子:定义接口Animal :public interf原创 2020-06-14 12:57:11 · 517 阅读 · 1 评论 -
基于事件驱动架构的用户成长体系
背景概述用户成长体系通俗的来讲就是会员经验金币系统,通过量化的方式来衡量用户对平台的忠诚度、共享度等,同时提供一系列的激励机制,刺激用户留在平台上。简单来讲,成长体系的作用就是“获客”、“活客”。对于用户来说,一个好的用户成长体系能够提升用户的主动活跃,用户也可以从体系中获得成就感、特权等利益。比如京东的京豆可以用来抵扣下次消费,QQ超级会员能让用户享受不一定的尊贵体验。对于平台来说,通过用户成长体系可以了解用户对产品的使用情况,有助于了解用户的组成情况,可以作为后面精细化运营的基础。同时,成长原创 2020-06-07 18:19:56 · 463 阅读 · 0 评论 -
Netty实现自定义通信协议
概述在网络编程中,无论使用netty还是其它的socket通讯框架,都是通过TCP或UDP传输二进制流。发送方把要发送的对象转化成二进制流发送出去;接收方把接收到的二进制流转化为对象进行处理。为了能让接收方和发送方能对同一个二进制流有相同的认识,双方必须提前约定好一个协议,即对象如何转化为二进制流,二进制流如何转化为对象,这样通信双方才不会产生误解。自定义通信协议在 easy-im 项目中...原创 2019-03-10 11:39:56 · 2866 阅读 · 0 评论 -
easy-im:一款基于netty的即时通讯系统
介绍easy-im是面向开发者的一款轻量级、开箱即用的即时通讯系统,帮助开发者快速搭建消息推送等功能。基于easy-im,你可以快速实现以下功能:+ 聊天软件+ IoT消息推送基本用法项目分为easy-im-client、easy-im-server、easy-im-common三个模块。服务端:执行mvn package后生成easy-im-server.tar.gz,解压后至./...原创 2019-01-27 22:38:37 · 826 阅读 · 0 评论 -
ZooKeepe系列(1)--分布式系统的基石
分布式架构有以下几点普适性的共性需求: 1. 提供集群的集中化的配置管理功能,可以不重启就让新的配置参数生效,类似与配置中心 2. 简单可靠的集群节点动态发现机制,便于动态发现服务,动态扩展节点 3. 简单可靠的leader选举机制 4. 提供分布式锁 zookeeper的数据结构整体上可以看作一颗目录树,其中每个节点被称作ZNode...原创 2018-09-21 20:16:10 · 229 阅读 · 0 评论 -
随机数使用不当引发的生产bug
前几天负责的理财产品线上出现问题:一客户赎回失败,查询交易记录时显示某条交易记录为其他人的卡号。交易的链路如下:出现该问题后,我们对日志进行了分析,发现主站收到的两笔流水号完全相同,然而主站却没有做重复校验,将两笔订单(A和B)都发往基金系统,基金系统做了重复校验,收到A之后开始处理,收到B之后直接报错返回,A处理完后又正常返回。但是主站根据流水号更新数据库状态,却将两笔订单更新错了...原创 2018-10-02 13:57:17 · 1520 阅读 · 0 评论 -
ZooKeepe系列(3)--基于ZooKeeper实现主从协作
主-从模式的模型中,主要包括三个角色:主节点:主要负责监视新的节点和任务,分配任务给可用的从节点;从节点:通过注册自己,确保主节点看到它们可以执行任务,收到主节点分配的任务后,执行并记录状态;客户端:创建新的任务并等待系统响应。1.Zookeeper节点介绍现通过ZooKeeper的API完成简单的主从协作。在此之前,需了解下ZooKeeper中节点的基本概念。节点的类型分为...原创 2018-09-26 14:01:29 · 651 阅读 · 0 评论