自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(140)
  • 收藏
  • 关注

原创 红包雨架构设计---1、技术架构

概述京东、淘宝的红包雨相信大家都参与过,其实业务并不复杂,在某段时间内随机发放不同的红包,用于进行抢单抽奖,直到奖品抽完。应用场景时间随机在一段时间内,设置一批礼品,这些礼品不定时的出现,尽量在这段时间内均匀抛出,一旦出现,就可以被抓走。类似抓红包。瞬间秒杀用于抢单或者秒杀场景,到点后,用户一起抽奖,机会均等,谁抢的快算谁的。这个并发比较高。但是活动时间相对较短。机会随机常见于转盘类活动。不同等级的用户,设定不同的中奖概率,一般配合设置用户最大可抽奖次数,比如5次机会, 能不能中奖,根据概

2022-03-24 18:58:05 16679 1

原创 深入浅出业务幂等性---1、幂等性介绍与接口幂等

微服务与幂等性随着应用架构由单体架构到微服务架构进行演变,现如今市面上超过50%的应用都会基于分布式或微服务完成系统架构设计。在微服务架构体系内,就会存在若干个微服务,这些服务可能基于RPC或者HTTPS等协议进行通讯。那么既然服务之间存在相互调用,那么必然存在服务调用延迟或者失败的情况,当出现这种问题,服务端会进行重试等操作或客户端有可能会进行多次点击提交。如果这样请求多次的话,那最终处理的数据结果就一定要保证统一,如支付场景。此时就需要通过保证业务幂等性方案来完成。幂等性简介幂等本身是一个数学概念

2022-03-22 19:22:44 11407

原创 数据库优化专题---1、表的主键用数字还是UUID

最近思考和摸索一些数据库优化内容,与大家分享下。表的主键用数字还是UUID?什么是UUID?UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分。其目的,是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。UUID由以下几部分的组合:...

2020-05-06 23:52:52 10192 1

原创 消息通知系统详解1---通讯方式

目录什么是消息通知系统系统特性通讯方式短连接长连接短连接和长连接的区别通讯流程适用场景websocket协议什么是websocket协议三种通信方式的优缺点什么是消息通知系统消息通知系统,顾名思义即通知消息的传达处理系统。目的是为了让用户获得需要得到的消息及提醒并进行处理。消息通知微服务的定位是“平台内”的“消息”功能,分为全员消息,订阅类消息,点对点消息。例如系统通知,私信,@类消息全...

2020-04-08 15:19:54 11739

原创 分布式事务详解1---什么是分布式事务

分布式事务详解1---什么是分布式事务分布式事务详解2---解决方案分布式事务详解3---Seata分布式事务框架今天我们来介绍下分布式事务以及分布式事务的解决方案。1 什么是分布式系统? 部署在不同结点上的系统通过网络交互来完成协同工作的系统。 比如:充值加积分的业务,用户在充值系统向自己的账户充钱,在积分系统中自己积分相应的增加。充值系统和积分系统是两个不同...

2019-12-27 17:17:57 10314

原创 ELFK日志平台入门1---架构设计

ELFK日志平台入门1---架构设计ELFK日志平台入门2---Elasticseach集群搭建 ELFK日志平台入门3---Kibana搭建ELFK日志平台入门4---Kafka集群搭建ELFK日志平台入门5---Logstash+Filebeat集群搭建1、什么是ELK 日志,对于任何系统来说都是及其重要的组成部分。在计算机系统里面,更是如此。但...

2019-11-04 18:02:57 11511 2

原创 DevOps入门详解1---DevOps介绍

DevOps入门详解1---DevOps介绍DevOps入门详解2---可持续集成jenkinsDevOps入门详解3---容器管理平台Rancher1 DevOps介绍 1.1 什么是DevOps DevOps是Development和Operations两个词的缩写,引用百度百科的定义: DevOps是一种方法或理念,它涵盖开发、测试、...

2019-08-19 15:33:20 12697

原创 为什么互联网项目适用敏捷开发

上面一篇文章我们提过为什么分布式需要做前后端分离,今天这篇我们从开发模式来详解为什么互联网项目使用于敏捷开发?因为笔主经历过瀑布开发模式和敏捷开发模式这两种开发模式,所以存在有一些自己的见解跟大家交流。下面所以我们这边先来简单介绍下这两种模式:瀑布开发模式:瀑布开发模式是由W.W.Royce在1970年最初提出的软件开发模型,瀑布式开发是一种老旧的计算机软件开发方法。瀑布模型...

2018-10-09 17:08:50 12024

原创 Docker安装ElasticSearch

上一篇我们介绍了Docker的一些入门,这篇我们来实战安装下ElasticSearch。一、Docker 部署 ElasticSearch1、从仓库中查找所有ElasticSearch的镜像[root@iZwz99dhxbd6xwly17tb3bZ app]# docker search elasticsearchINDEX NAME ...

2018-09-24 12:59:32 14363 3

原创 详解互联网APP架构1.0

详解互联网APP架构1.0详解互联网APP架构2.0由于最近负责一个互联网APP项目,需要重新设计架构,这边架构已经设计完成,跟小伙伴们分享下设计思想:首先我们分析大概的需求,可归结为以下几点:此项目为互联网项目,后期用户量可能会增长; 需要涉及支付,可能需要对接支付宝、微信、银联等第三方支付接口,当然会涉及交易流水等记录数据; 需要对接外部其他系统的接口,接口协议以Http或......

2018-09-11 20:44:33 21550

原创 详解APP的Token验证机制

由于最近负责的一个互联网APP项目中需要用到Token验证机制,所以这边抽空整理下整体流程。我们知道现在最通用的Token是基于JWT来实现,简单来说其实就是用PublicKey来进行加密,生成的Token里面包含用户Id等信息,但是作为APP这种C/S体系结构来说,存在这样的问题:1、PublicKey由客户端来存储,涉及版本更新迭代问题,并不好更改PublicKey;2、各个用户的......

2018-09-11 19:42:13 47037 17

原创 详解为什么分布式需要做前后端分离

因为公司以往项目前后端未分离开发,在最近负责的项目中尝试采用前后端分离来提高整体开发效率。因为写代码资历不是很老,没有经历过更早的时期了,刚毕业SpringMVC和Struts2等架构已经很成熟,所以最早接触的开发方式就是从MVC开发方式开始的,下面我们将开发方式分为未分离,半分离和分离三个时期来做详解。未分离时期大致就是所有的请求都被发送给作为控制器的Servlet,它接受请求,并根...

2018-09-05 23:34:52 13414

原创 docker安装fastDFS文件存储,并与springMVC集成

因为项目需要搭建文件服务器,研究后,最后选型FastDFS分布式文件存储系统。由于docker镜像安装的方便化,所以决定采用docker安装。拉取镜像 docker pull morunchang/fastdfs查看镜像[root@iZh3cshm0xz7wjZ ~]# docker imagesREPOSITORY T...

2018-05-03 22:14:00 12805 5

原创 Java最全面试题专题---6、Spring面试题(1)

笔者有七八年的面试者经验,负责公司技术同学的社招和校招,近些年面试过三四百个技术同学,考虑接近年底这个时段,整理并更新一些以往的面试经验,希望同学们跳槽能有个更好的工作,如有需要的同学可以关注下笔者,近期会迭代更新。这章更新Spring的面试题。

2023-12-21 22:59:05 1058

原创 Java最全面试题专题---5、Spring MVC

笔者有七八年的面试者经验,负责公司技术同学的社招和校招,近些年面试过三四百个技术同学,考虑接近年底这个时段,整理并更新一些以往的面试经验,希望同学们跳槽能有个更好的工作,如有需要的同学可以关注下笔者,近期会迭代更新。这章更新SpringMVC的面试题。

2023-12-21 21:26:32 1033

原创 Java最全面试题专题---4、并发编程(3)

笔者有七八年的面试者经验,负责公司技术同学的社招和校招,近些年面试过三四百个技术同学,考虑接近年底这个时段,整理并更新一些以往的面试经验,希望同学们跳槽能有个更好的工作,如有需要的同学可以关注下笔者,近期会迭代更新。这章更新并发编程的面试题。

2023-12-21 21:15:45 943

原创 Java最全面试题专题---4、并发编程(2)

笔者有七八年的面试者经验,负责公司技术同学的社招和校招,近些年面试过三四百个技术同学,考虑接近年底这个时段,整理并更新一些以往的面试经验,希望同学们跳槽能有个更好的工作,如有需要的同学可以关注下笔者,近期会迭代更新。这章更新Java并发编程的面试题。

2023-12-21 21:15:01 797

原创 Java最全面试题专题---4、并发编程(1)

笔者有七八年的面试者经验,负责公司技术同学的社招和校招,近些年面试过三四百个技术同学,考虑接近年底这个时段,整理并更新一些以往的面试经验,希望同学们跳槽能有个更好的工作,如有需要的同学可以关注下笔者,近期会迭代更新。这章更新Java并发编程的面试题。

2023-12-19 12:39:58 1015

原创 Java最全面试题专题---3、Java异常

笔者有七八年的面试者经验,负责公司技术同学的社招和校招,近些年面试过三四百个技术同学,考虑接近年底这个时段,整理并更新一些以往的面试经验,希望同学们跳槽能有个更好的工作,如有需要的同学可以关注下笔者,近期会迭代更新。这章更新Java异常的面试题。

2023-12-19 12:38:47 955

原创 UML系统建模专题---2、UML常用工具介绍

常见的UML建模工具介绍,包含Rational Rose、RSA、 Enterprise Architect、StarUML、VISIO等

2023-12-18 09:46:24 403

原创 UML系统建模专题---1、UML概述和理论

Unified Modeling Language 统一建模语言,又称标准建模语言。是用来对软件密集系统进行可视化建模的一种语言,语言,也就是一个表达思想的符号约定

2023-12-18 09:44:32 980

原创 Java最全面试题专题---2、Java集合容器(2)

Hash,一般翻译为“散列”,也有直接音译为“哈希”的,这就是把任意长度的输入通过散列算法,变换成固定长度的输出,该输出就是散列值(哈希值);这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。所有散列函数都有如下一个基本特性**:根据同一散列函数计算出的散列值如果不同,那么输入值肯定也不同。但是,根据同一散列函数计算出的散列值如果相。

2023-12-11 23:57:11 981

原创 Java最全面试题专题---2、Java集合容器(1)

*集合框架:**用于存储数据的容器。集合框架是为表示和操作集合而规定的一种统一的标准的体系结构。任何集合框架都包含三大块内容:对外的接口、接口的实现和对集合运算的算法。**接口:**表示集合的抽象数据类型。接口允许我们操作集合时不必关注具体实现,从而达到“多态”。在面向对象编程语言中,接口通常用来形成规范。**实现:**集合接口的具体实现,是重用性很高的数据结构。**算法:**在一个实现了某个集合框架中的接口的对象身上完成某种有用的计算的方法,例如查找、排序等。

2023-12-11 23:45:54 972

原创 Java最全面试题专题---1、Java基础知识(3)

JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。静态编译和动态编译在编译时确定类型,绑定对象运行时确定类型,绑定对象。

2023-12-09 11:17:50 1036

原创 数据结构和算法专题---9、一致性hash及应用

负载均衡策略中,我们提到过源地址hash算法,让某些请求固定的落在对应的服务器上。这样可以解决会话信息保留的问题。同时,标准的hash,如果机器节点数发生变更。那么请求会被重新hash,打破了原始的设计初衷,怎么解决呢?一致性hash上场。

2023-12-09 11:16:57 436

原创 数据结构和算法专题---8、加密算法

本章我们会对加密算法做个简单介绍,包括概述、实现方式、典型场景做个说明。

2023-12-08 18:33:28 1289

原创 数据结构和算法专题---7、负载均衡算法与应用

本章我们会对负载均衡算法做个简单介绍,包括常用的负载均衡算法(轮询、随机、哈希等)的概述、实现方式、典型场景做个说明。

2023-12-08 18:32:17 989

原创 Java最全面试题专题---1、Java基础知识(2)

笔者有七八年的面试者经验,负责公司技术同学的社招和校招,近些年面试过三四百个技术同学,考虑接近年底这个时段,整理并更新一些以往的面试经验,希望同学们跳槽能有个更好的工作,如有需要的同学可以关注下笔者,近期会迭代更新。这章更新Java面向对象的面试题。

2023-12-07 21:46:52 849

原创 Java最全面试题专题---1、Java基础知识(1)

笔者有七八年的面试者经验,负责公司技术同学的社招和校招,近些年面试过三四百个技术同学,考虑接近年底这个时段,整理并更新一些以往的面试经验,希望同学们跳槽能有个更好的工作,如有需要的同学可以关注下笔者,近期会迭代更新。这章更新Java的基础概述以及基础语法的面试题。

2023-12-07 21:46:00 914

原创 数据结构和算法专题---6、定时算法与应用

系统或者项目中难免会遇到各种需要自动去执行的任务,实现这些任务的手段也多种多样,如操作系统的crontab,spring框架的quartz,java的Timer和ScheduledThreadPool都是定时任务中的典型手段。

2023-12-06 18:34:30 989

原创 数据结构和算法专题---5、调度算法与应用

调度算法常见于操作系统中,因为系统资源有限,当有多个进程(或多个进程发出的请求)要使用这些资源时,就必须按照一定的原则选择进程(请求)来占用资源。这就是所谓的调度。在现实生活中也是一样,比如会议室的占用。进程调度每次将处理机分配给具有最高优先级的就绪进程。最高优先级算法可与不同的CPU方式结合形成可抢占式最高优先级算法和不可抢占式最高优先级算法。

2023-12-06 18:34:16 1371

原创 数据结构和算法专题---4、限流算法与应用

本章我们会对限流算法做个简单介绍,包括常用的限流算法(计数器、漏桶算法、令牌桶案发、滑动窗口)的概述、实现方式、典型场景做个说明。

2023-12-05 19:49:00 1832 1

原创 数据结构和算法专题---3、失效算法与应用

本章我们会对失效算法做个简单介绍,包括常用的失效算法(先来先淘汰(FIFO)、最久未用淘汰(LRU)、最近最少使用(LFU))的概述、实现方式、典型场景做个说明。

2023-12-05 19:48:39 1282

原创 数据结构和算法专题---2、算法思想

上文讲到算法的概念、复杂度,本文给大家介绍具体的算法思想,让大家对算法设计理念有个认识,后续再分别介绍各种算法。

2023-12-04 19:09:54 949

原创 数据结构和算法专题---1、数据结构和算法概述

数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。

2023-12-04 19:09:10 1306

原创 规则引擎专题---5、Groovy环境搭建和基础语法

Groovy是用于Java虚拟机的一种敏捷的动态语言,它是一种成熟的面向对象编程语言,既可以用于面向对象编程,又可以用作纯粹的脚本语言。使用该种语言不必编写过多的代码,同时又具有闭包和动态语言中的其他特性。Groovy是从Java衍生出来的,并且运行在Java虚拟机上的语言.其目标是不管作为脚本语言,还是编程语言,都可以简单、直接使用。Groovy 也并不会替代 Java,而是相辅相成、互补的关系,具体使用哪门语言这取决于要解决的问题和使用的场景。

2023-12-03 11:43:18 948

原创 规则引擎专题---4、Drools基础语法

在使用Drools时非常重要的一个工作就是编写规则文件,通常规则文件的后缀为.drl。drl是Drools Rule Language的缩写。在规则文件中编写具体的规则内容。Drools支持的规则文件,除了drl形式,还有Excel文件类型的。

2023-12-03 11:41:56 1080

原创 规则引擎专题---3、Drools组成和入门

drools是一款由JBoss组织提供的基于Java语言开发的开源规则引擎,可以将复杂且多变的业务规则从硬编码中解放出来,以规则脚本的形式存放在文件或特定的存储介质中(例如存放在数据库中),使得业务规则的变更不需要修改项目代码、重启服务器就可以在线上环境立即生效。

2023-12-02 11:23:32 954

原创 规则引擎专题---2、开源规则引擎对比

开源的规则引擎整体分为下面几类:通过界面配置的成熟规则引擎、基于jvm脚本语言和基于java代码的规则引擎,本文将对Drools、Groovy、QLExpress进行对比。

2023-12-02 11:22:07 1414

原创 规则引擎专题---1、什么是规则引擎

规则引擎,全称为业务规则管理系统,英文名为BRMS(即Business Rule Management System)。规则引擎的主要思想是将应用程序中的业务决策部分分离出来,并使用预定义的语义模块编写业务决策(业务规则),由用户或开发者在需要时进行配置、管理。需要注意的是规则引擎并不是一个具体的技术框架,而是指的一类系统,即业务规则管理系统。目前市面上具体的规则引擎产品有:drools、VisualRules、iLog等。

2023-12-01 17:45:47 1004

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除