中台战略与组件化开发
文章平均质量分 92
假装文艺范儿
2022.11.04重启博客,这一次出发,不会再停下。始于java,不止于java。
展开
-
第2-4-10章 规则引擎Drools实战(3)-保险产品准入规则
全套代码及资料全部完整提供,点此处下载前面我们编写的规则文件都是drl形式的文件,Drools除了支持drl形式的文件外还支持xls格式的文件(即Excel文件)。这种xls格式的文件通常称为决策表(decision table)。决策表(decision table)是一个“精确而紧凑的”表示条件逻辑的方式,非常适合商业级别的规则。决策表与现有的drl文件可以无缝替换。Drools提供了相应的API可以将xls文件编译为drl格式的字符串。一个决策表的例子如下:决策表语法:在决策表中还经常使用到占位符,语原创 2022-12-01 09:00:16 · 678 阅读 · 0 评论 -
第2-4-9章 规则引擎Drools实战(2)-信用卡申请
全套代码及资料全部完整提供,点此处下载本小节我们需要通过Drools规则引擎来根据规则进行申请人的合法性检查,检查通过后再根据规则确定信用卡额度,最终页面效果如下:合法性检查规则如下:信用卡额度确定规则:第一步:创建maven工程creditCardApply并配置pom.xml文件第二步:创建/resources/application.yml文件第三步:编写配置类DroolsConfig第四步:编写实体类CreditCardApplyInfo第五步:在resources/rules下创建规则文原创 2022-11-30 10:17:13 · 613 阅读 · 0 评论 -
第2-4-8章 规则引擎Drools实战(1)-个人所得税计算器
全套代码及资料全部完整提供,点此处下载本小节我们需要通过Drools规则引擎来根据规则计算个人所得税,最终数据效果如下:税前月收入:即税前工资,指交纳个人所得税之前的总工资应纳税所得额:指按照税法规定确定纳税人在一定期间所获得的所有应税收入减除在该纳税期间依法允许减除的各种支出后的余额税率:是对征税对象的征收比例或征收额度速算扣除数:指为解决超额累进税率分级计算税额的复杂技术问题,而预先计算出的一个数据,可以简化计算过程扣税额:是指实际缴纳的税额税后工资:是指扣完税后实际到手的工资收入要实现个人所得税计算器原创 2022-11-29 07:30:54 · 769 阅读 · 0 评论 -
第2-4-7章 docker安装WorkBench-规则引擎Drools-业务规则管理系统-组件化-中台
WorkBench是KIE组件中的元素,也称为KIE-WB,是Drools-WB与JBPM-WB的结合体。它是一个可视化的规则编辑器。WorkBench其实就是一个war包,安装到tomcat中就可以运行。使用WorkBench可以在浏览器中创建数据对象、创建规则文件、创建测试场景并将规则部署到maven仓库供其他应用使用。原创 2022-11-28 09:04:46 · 1157 阅读 · 0 评论 -
第2-4-6章 springboot整合规则引擎Drools-业务规则管理系统-组件化-中台
全套代码及资料全部完整提供,点此处下载在项目中使用Drools时往往会跟Spring整合来使用。具体整合步骤如下:第一步:创建maven工程drools_spring并配置pom.xml第二步:创建规则目录/resources/rules,中rules目录中创建规则文件helloworld.drl第三步:创建Spring配置文件/resources/spring.xml第四步:编写单元测试类7.1.1 以上代码均在drools_spring项目中本小节我们来进行Drools和Spring Web的原创 2022-11-27 20:52:22 · 179 阅读 · 0 评论 -
第2-4-5章 规则引擎Drools高级语法-业务规则管理系统-组件化-中台
1、如果对象类型为包装类型时,在一个规则中改变了global的值,那么只针对当前规则有效,对其他规则中的global不会有影响。可以理解为它是当前规则代码中的global副本,规则内部修改不会影响全局的使用。前面我们已经知道了在规则体中的LHS部分是介于when和then之间的部分,主要用于模式匹配,只有匹配结果为true时,才会触发RHS部分的执行。两者的区别:当向Working Memory中加入多个满足条件的Fact对象时,使用了exists的规则执行一次,不使用exists的规则会执行多次。原创 2022-11-26 07:31:53 · 559 阅读 · 0 评论 -
第2-4-4章 规则引擎Drools规则属性-业务规则管理系统-组件化-中台
与activation-group不同的是,activation-group定义的分组中只能够有一个规则可以被触发,而agenda-group分组中的多个规则都可以被触发。通过控制台可以看到,由于以上三个规则没有设置salience属性,所以执行的顺序是按照规则文件中规则的顺序由上到下执行的。注意:上面的代码需要设置日期格式,否则我们在规则文件中写的日期格式和默认的日期格式不匹配程序会报错。注意:上面的代码需要设置日期格式,否则我们在规则文件中写的日期格式和默认的日期格式不匹配程序会报错。原创 2022-11-25 07:27:55 · 330 阅读 · 0 评论 -
第2-4-3章 规则引擎Drools基础语法-业务规则管理系统-组件化-中台
通过控制台输出可以发现,四个规则都触发了,这是因为首先进行规则匹配时只有第一个规则可以匹配成功,但是在第一个规则中向工作内存中插入了一个数据导致重新进行规则匹配,此时第二个规则可以匹配成功。前面我们已经知道了Drools中的匹配器可以将Rule Base中的所有规则与Working Memory中的Fact对象进行模式匹配,那么我们就需要在规则体的LHS部分定义规则并进行模式匹配。通过控制台输出可以发现,只有第一个规则触发了,因为在第一个规则中将工作内存中的数据删除了导致第二个规则并没有匹配成功。原创 2022-11-24 08:52:04 · 295 阅读 · 0 评论 -
第2-4-2章 规则引擎Drools入门案例-业务规则管理系统-组件化-中台
我们在操作Drools时经常使用的API以及它们之间的关系如下图:通过上面的核心API可以发现,大部分类名都是以Kie开头。Kie全称为Knowledge Is Everything,即"知识就是一切"的缩写,是Jboss一系列项目的总称。如下图所示,Kie的主要模块有OptaPlanner、Drools、UberFire、jBPM。通过上图可以看到,Drools是整个KIE项目中的一个组件,Drools中还包括一个Drools-WB的模块,它是一个可视化的规则编辑器。原创 2022-11-23 06:14:31 · 991 阅读 · 0 评论 -
第2-4-1章 规则引擎Drools介绍-业务规则管理系统-组件化-中台
规则引擎,全称为业务规则管理系统,英文名为BRMS(即Business Rule Management System)。规则引擎的主要思想是将应用程序中的业务决策部分分离出来,并使用预定义的语义模块编写业务决策(业务规则),由用户或开发者在需要时进行配置、管理。需要注意的是规则引擎并不是一个具体的技术框架,而是指的一类系统,即业务规则管理系统。目前市面上具体的规则引擎产品有:drools、VisualRules、iLog等。原创 2022-11-22 22:07:39 · 187 阅读 · 0 评论 -
第2-3-8章 分片上传和分片合并的接口开发-文件存储服务系统-nginx/fastDFS/minio/阿里云oss/七牛云oss
第2-1-2章 传统方式安装FastDFS-附FastDFS常用命令第2-1-3章 docker-compose安装FastDFS,实现文件存储服务第2-1-5章 docker安装MinIO实现文件存储服务-springboot整合minio-minio全网最全的资料全套代码及资料全部完整提供,点此处下载前面我们已经实现了普通的附件服务和网盘服务,如果上传的文件比较小,可以直接使用这两个服务即可。如果上传的文件比较大,例如要上传一个500M或者1G的视频文件(或者更大),这就需要分片上传了。那么什么是分原创 2022-11-21 07:03:38 · 717 阅读 · 0 评论 -
第2-3-7章 个人网盘服务接口开发-文件存储服务系统-nginx/fastDFS/minio/阿里云oss/七牛云oss
第2-1-2章 传统方式安装FastDFS-附FastDFS常用命令第2-1-3章 docker-compose安装FastDFS,实现文件存储服务第2-1-5章 docker安装MinIO实现文件存储服务-springboot整合minio-minio全网最全的资料全套代码及资料全部完整提供,点此处下载接口文档:AttachmentController代码:AttachmentService接口:AttachmentServiceImpl类:5.8.2 接口导入-根据业务类型/业务id查询附件原创 2022-11-20 06:05:07 · 434 阅读 · 0 评论 -
第2-3-6章 打包批量下载附件的接口开发-文件存储服务系统-nginx/fastDFS/minio/阿里云oss/七牛云oss
2、如果根据业务类型和业务id匹配到的文件有多个,则将对应的多个原始文件进行压缩,最终下载的是压缩后的文件。2、如果客户端提交的文件id有多个,则将对应的多个原始文件进行压缩,最终下载的是压缩后的文件。第一步:在AttachmentController中提供根据业务类型和业务id打包下载的方法。第一步:在AttachmentController中提供根据文件id打包下载文件的方法。1、如果根据业务类型和业务id匹配到的文件只有一个,则下载对应的原始文件。第四步:创建FileBiz,统一进行文件下载。原创 2022-11-19 06:23:54 · 668 阅读 · 0 评论 -
第2-3-5章 删除附件的接口开发-文件存储服务系统-nginx/fastDFS/minio/阿里云oss/七牛云oss
注:可以修改Nacos中的pd-file-server.yml配置文件,将存储策略改为ALI和FAST_DFS以及MINIO来测试文件的存储策略是否发生了变化。第一步:在AttachmentController中提供根据业务类型/业务id删除文件的方法。可以看到pd_attachment表中对应的记录已经删除掉了,对应的文件也已经被删除掉了。可以看到pd_attachment表中对应的记录已经删除掉了,对应的文件也已经被删除掉了。第一步:在AttachmentController中提供文件删除的方法。原创 2022-11-18 05:44:29 · 300 阅读 · 0 评论 -
第2-3-4章 上传附件的接口开发-文件存储服务系统-nginx/fastDFS/minio/阿里云oss/七牛云oss
第2-1-2章 传统方式安装FastDFS-附FastDFS常用命令第2-1-3章 docker-compose安装FastDFS,实现文件存储服务第2-1-5章 docker安装MinIO实现文件存储服务-springboot整合minio-minio全网最全的资料全套代码及资料全部完整提供,点此处下载上传附件接口要完成的操作主要有两个:接口文档如下:第一步:创建AttachmentController并提供文件上传方法第二步:创建AttachmentService接口第三步:创建Attach原创 2022-11-17 07:44:31 · 516 阅读 · 0 评论 -
第2-3-3章 文件处理策略-文件存储服务系统-nginx/fastDFS/minio/阿里云oss/七牛云oss
第2-1-2章 传统方式安装FastDFS-附FastDFS常用命令第2-1-3章 docker-compose安装FastDFS,实现文件存储服务第2-1-5章 docker安装MinIO实现文件存储服务-springboot整合minio-minio全网最全的资料全套代码及资料全部完整提供,点此处下载由于我们当前的文件服务需要给客户端提供统一的服务接口,这就需要文件服务屏蔽底层的具体文件存储方式,所以对文件处理策略进行如下类和接口的设计:FileStrategy是文件处理策略顶层接口,是对文件处理原创 2022-11-16 07:42:43 · 428 阅读 · 0 评论 -
第2-3-2章 环境搭建-文件存储服务系统-nginx/fastDFS/minio/阿里云oss/七牛云oss
全套代码及资料全部完整提供,点此处下载第一步:创建pd_files数据库第二步:在pd_files数据库中创建pd_attachment和pd_file数据表注:SQL脚本位置为 pd_attachment表为附件表,具体表结构如下:pd_file表为文件/文件夹信息表,具体表结构如下:第一步:安装Nacos并进行配置(略)第二步:在Nacos中创建命名空间fileService(名字随便起,只要和程序里配置的一样就可以)第三步:在Nacos中将配置文件导入到file-server命名空间注:yml配原创 2022-11-15 06:21:05 · 194 阅读 · 0 评论 -
第2-3-1章 文件存储服务系统-nginx/fastDFS/minio/阿里云oss/七牛云oss
这种方式提供一个独立的文件微服务,该微服务向应用系统提供统一的上传、下载、查看接口,应用系统调用方式相同,并且屏蔽了底层对外调用OSS服务的接口,即使以后迁移OSS服务商,应用层面的系统也不需要变动。这种模式也有一个小问题,比如我们调用了阿里云的OSS服务,如果所有的下载、查看功能都调用文件服务,那么文件服务的网络流量将会有非常大的压力。云存储,即将上传的文件存储在第三方云平台上,例如阿里云OSS、七牛云OSS服务等,并通过这些第三方提供的OSS服务来对外提供文件的下载和查看等功能。原创 2022-11-14 07:23:41 · 918 阅读 · 0 评论 -
第2-2-4章 常见组件与中台化-常用组件服务介绍-分布式ID-附Snowflake雪花算法的代码实现
ID,全称Identifier,中文翻译为标识符,是用来唯一标识对象或记录的符号。比如我们每个人都有自己的身份证号,这个就是我们的标识符,有了这个唯一标识,就能快速识别出每一个人。**在计算机世界里,复杂的分布式系统中,经常需要对大量的数据、消息、HTTP 请求等进行唯一标识。**比如对于分微服务架构的系统中,服务间相互调用需要唯一标识,幂等处理,调用链路分析,日志追踪的时候都需要使用这个唯一标识,此时我们的系统就迫切的需要一个全局唯一的ID。原创 2022-11-13 16:36:10 · 511 阅读 · 0 评论 -
第2-2-3章 常见组件与中台化-常用组件服务介绍-注册登录服务
登录认证几乎是任何一个系统的标配,web 系统、APP、PC 客户端等都需要注册、登录、认证。以淘宝为例,如果我们想要下单,首先需要注册一个账号。拥有了账号之后,我们需要输入用户名、密码完成登录过程。之后如果你在一段时间内再次进入系统,是不需要输入用户名和密码的,只有在长时间不登录的情况下访问系统才需要再次输入用户名和密码。本服务提供多种登录方式:用户名密码登录、手机验证码登录、邮箱登录、微信扫码登录、微博登录、qq登录,登录成功自动完成注册。工程结构:项目服务有两个:网关服务和注册登录服务应用。原创 2022-11-12 20:26:58 · 474 阅读 · 0 评论 -
第2-2-2章 常见组件与中台化-常用组件服务介绍-通用权限系统
全套代码及资料全部完整提供,点此处下载https://download.csdn.net/download/weixin_42208775/86960899对于企业中的项目绝大多数都需要进行用户权限管理、认证、鉴权、加密、解密、XSS防跨站攻击等。这些功能整体实现思路基本一致,但是大部分项目都需要实现一次,这无形中就形成了巨大的资源浪费。本项目就是针对这个问题,提供了一套通用的权限解决方案----品达通用权限系统。品达通用权限系统基于SpringCloud(Hoxton.SR1) +SpringBoot(原创 2022-11-11 21:49:03 · 437 阅读 · 0 评论 -
第2-2-1章 常见组件与中台化-中台概述
随着互联网公司的崛起,“中台”这个词也进入了人们的视线。BAT 等公司纷纷推出了自己的中台系统。那么,什么是中台系统?任何一个软件系统都是通过帮助客户解决问题来实现价值的。针对不同的需求会建立不同的软件项目。这些软件项目包含客户端的应用和后台管理配置的应用。久而久之就形成了固定的“前台”和“后台”系统,而且大家都在乐此不疲地开发着类似的业务系统。原创 2022-11-10 06:58:57 · 984 阅读 · 0 评论 -
第2-1-5章 docker安装MinIO实现文件存储服务-springboot整合minio-minio全网最全的资料
MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。 MinIO是一个非常轻量的服务,可以很简单的和其他应用的结合,类似 NodeJS, Redis 或者 MySQL。 官方文档:http://docs.minio.org.cn/docs 旧一点。原创 2022-11-09 07:10:10 · 560 阅读 · 0 评论 -
第2-1-4章 SpringBoot整合FastDFS文件存储服务
5 SpringBoot整合5.1 操作步骤5.2 项目依赖5.3 客户端开发5.3.1 FastDFS配置5.3.2 FastDFS配置类5.3.3 文件工具类5.3.4 文件上传配置5.3.5 配置Swagger25.3.6 API接口5.4 接口演示原创 2022-11-08 07:12:31 · 182 阅读 · 0 评论 -
第2-1-3章 docker-compose安装FastDFS,实现文件存储服务
docker-compose安装FastDFS,实现文件存储服务 防盗链图片即代表部署成功。进入 storage 容器中使用命令上传一个图片, 可使用容器自带的测试图片, 也可 docker cp 将本机图片复制进来。原创 2022-11-07 06:27:03 · 528 阅读 · 0 评论 -
第2-1-2章 传统方式安装FastDFS-附FastDFS常用命令
此时 FastDFS 存储集群机制会将这个文件同步到同组存储storage-server-2,在文件还没有复制完成的情况下,客户端如果用这个文件 ID 在 storage-server-2 上取文件,就会出现文件无法访问的错误。但是FastDFS的HTTP服务较为简单,无法提供负载均衡等高性能的服务,所以FastDFS的开发者(淘宝的架构师余庆)为我们提供了Nginx上使用的FastDFS模块(也可以叫FastDFS的Nginx模块)。tracker集群环境下,需要在每个Tracker上安装Nginx,原创 2022-11-06 09:31:03 · 2515 阅读 · 0 评论 -
第2-1-1章 FastDFS分布式文件服务背景及系统架构介绍
FastDFS是一个开源的轻量级分布式文件系统。它解决了大数据量存储和负载均衡等问题。特别适合以中小文件(建议范围:4KB < file_size原创 2022-11-05 09:14:00 · 613 阅读 · 0 评论 -
第1章 软件架构与需求分析方法
中台战略与组件化开发原创 2022-11-04 07:35:53 · 1739 阅读 · 1 评论