- 博客(25)
- 资源 (6)
- 收藏
- 关注
翻译 微服务融合 DDD、洋葱架构(翻译转载)
原文:https://herbertograca.com/2017/11/16/explicit-architecture-01-ddd-hexagonal-onion-clean-cqrs-how-i-put-it-all-together/这篇文章是软件架构编年史(译)的一部分,这部编年史由一系列关于软件架构的文章组成。在这一系列文章中,我将写下我对软件架构的学习和思考,以及我是如何运用这些知识的。如果你阅读了这个系列中之前的文章,本篇文章的的内容将更有意义。大学毕业之后我做了一名高中老师,直到
2021-12-07 13:35:37 623
转载 转载RabbitMQ 和 Kafka选哪个?
前言公众号【码农开花】,关注这个有故事的男人,关注收获更多技术干货,永远值得收藏的课程资料作为一个有丰富经验的微服务系统架构师,经常有人问我,“应该选择RabbitMQ还是Kafka?”。基于某些原因, 许多开发者会把这两种技术当做等价的来看待。的确,在一些案例场景下选择RabbitMQ还是Kafka没什么差别,但是这两种技术在底层实现方面是有许多差异的。不同的场景需要不同的解决方案,选错一个方案能够严重的影响你对软件的设计,开发和维护的能力。这篇文章会先介绍RabbitMQ和Apache
2021-10-29 15:38:56 265
原创 保证接口幂等性的2个方法
直入主题,在前后端分离和微服务架构的背景下,请求接口由于各种原因导致返回超时,或因为各种原因各种重复调用同一接口,造成一个接口不停的被调用,所以接口的幂等性是基本要求。 提供2个方法 1 代码逻辑判断 2 token判断 简单说一下两种方法,具体自己扩展1 代码逻辑判断方法,一般接口提供增删改查功能,重复新增和重复修改会产生接口幂等性问题,而删除和查...
2020-04-14 14:04:01 1720
原创 项目通信之RPC调用——java简单实现
微服务项目通信方法很多,有像springcloud解决方案的http通信,还有像阿里Dubbo的RPC通信,这里简单实现RPC调用。一共2个端,客户端server和客户端client.项目demo很简单,就不多讲了,看代码好了。下面是服务端的demo,直接main函数启动。package com.alvis.rpcserverdemo.server;/** * @author...
2020-01-03 13:51:51 1652 2
原创 前后端分离技术之加签,验签,防篡改
上一篇讲解了加密解密,这次来个加签验签,实际项目里,我们采用的是react 和nodejs 来进行加签验签,用的jsrsasign库,下面贴点核心代码react加签nodejs验签实际应用在nodejs层可以将时间戳和sign签名验证通过剔除掉,所以对后端就是无感的。下面来介绍下客户端见加签验签,前面的代码也有,以java为例import org.apache.c...
2019-11-29 11:49:29 4420 4
原创 后端加密数据传输
简单说一下,这种加密解密的模式目的是为了防止信息泄露,把重要的数据加密,发送方通过私钥加密,接收方通过公钥解密得到数据,一般为服务器之间传输,比如我们应用的场景是业务回调,验证是否真的收到回调消息等,或者其他涉密信息而不能用明文传输的内容。一般前后端分离的项目只需要加签和验签来防止数据被篡改,这个下个文章再弄,下面是搜罗的代码。import org.apache.commons.codec....
2019-11-28 11:49:32 651
原创 redis缓存,通过spring的aop注解实现
package com.alvis.util;/** * @author ALvis * @ctreate 2019/11/25 */import org.aspectj.lang.ProceedingJoinPoint;import org.aspectj.lang.annotation.Around;import org.aspectj.lang.annotation.As...
2019-11-26 11:55:40 134 1
转载 java代码如何写
先说结论,我支持将逻辑写在 Java 等应用系统中。背景:今天只讨论一种应用模式,就是最普遍的,前端实时调用后端web服务,服务端经过DB的增删改查作出响应的应用。至于离线数据分析,在线规则引擎模板执行,流式计算等不在本次讨论范畴。 重SQL开发的场景先看一个例子吧。用经典的 Controller Service DAO 开发模式描述。city表 city_name ...
2018-11-13 15:50:24 1747
原创 redis主从配置(一主两从,三哨兵)linux
下载redis-4.0.6.tar.gz(当前最新稳定版)地址:http://download.redis.io/releases/安装目录:usr/local/redis安装包下载目录:/opt/redis安装命令如下mkdir /usr/local/rediscd /opttar zxvf redis-4.0.6.tar.gzcd redis-4.0.6.tar.gz make PREFIX=...
2018-03-30 15:56:23 5245
原创 初试android,写了个2个服务端springmvc基于htpp协议的json互传和传统soap协议的webservice
android没啥好看的,很简单,主要看看服务端实现吧 先看看springmvc提供的json互传核心代码@RestControllerpublic class Text { @RequestMapping(value = "/find/{id}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALU
2016-09-08 17:32:50 516
原创 java实现高并发首页访问量(附源码下载地址)
这个参考了csdn一个首页访问量的demo,在这个基础上进行了些并发修改,框架采用了spring,数据库sqlserver,当然任何数据库都可以,记得把包自己加进去,我这只有sqlserver和mysql的,oracle的自己加个包就行。核心代码,很简单,Commons.count方法是得到一个静态的list,为了防止高并发下内存溢出,没有采集按照时间来提交,而采取的是访问5次commit,当然是为
2016-09-01 14:46:14 1698
原创 jdbc批处理+事务处理 十万级数据导入
这个比较简单,从一个远程数据库导出一张10万数据级的表到本地数据库,下面展示代码,一个3个类,2个数据库连接,一个实现/** * 远程取数据的数据库 * @author Administrator * */public class DbJob { private String url = "jdbc:oracle:thin:@127.0.0.1:1521:ORCL";//远程数据库
2016-08-26 17:00:25 698
原创 造轮子系列之封装审批流程
业务中经常会遇见需要审批的环节,所以审批流应运而生,我自己封装了一个小的审批流,比较简单,跟一些开源框架没有啥可比性,所以有许多不严谨的地方。审批流主要涉及3张表,前台jsp代码我就不提供了,只写一些后台的核心代码。审批流核心就是用户自己设置审批流程,如图1(这里涉及2张表,一张表为审批流程模板主表,第二张表为模板主表的明细),然后根据审批流程的明细,生成单据(比如项目审批,请假审批,文件审批等等)
2016-08-25 13:55:45 628
原创 jquery表格datatables,直接加载和延迟加载
参考自官方文档,需要引入jquery.js,jquery.dataTables.js,dataTables.bootstrap.js(可选), 由于时间紧,省略了很多,所以总结份简化版的仅供参考。1,直接加载,这个比较简单,如下<div id="tid" class="col-sm-12 col-md-12"> <div id="secondtid" hidden="hidden"></d
2016-08-11 11:21:43 8826
原创 动态树形多选菜单——ztree初始化加载和延迟加载
我用到的版本ztree core v3.5.24,需要引入的js,css,jquery.js,jquery.ztree.core.js,jquery.ztree.excheck.js(多选框可选),zTreeStyle.css。需要注意的指向父节点的pId,我开始写的是pid一开始没注意,默认的是pId,当然可以pIdKey指定自定义的(未测)。还有如果图片没显示肯定是没引入img图片,记得写好路
2016-07-11 09:45:34 6152
原创 前端——使footer永远在网页底部的方法
这个参考了别人的代码,仅仅记录一下这个方法,只是把footer永远在网页最下面,需要引入jquery。<script type="text/javascript">$(window).bind("load",function() { showPage();});</script><script type="text/javascript">function showPage(){
2016-07-07 10:56:58 481
原创 动态定义quartz定时任务
记录自己写的代码,肯定有不对的地方,参阅的话仅供参考。 这个用的是quartz-2.2.2.jar版本,动态设置了定时任务。public class TaskManager { private static TaskManager instance ; private SchedulerFactory schedFact = new org.quartz.impl.StdSche
2016-07-01 15:02:26 425
2017年阿里巴巴java开发手册正式版
2017-02-15
rest风格webservice,服务端用的springmvc,客户端android,json传输,另附一个cxf的soap协议的wsdl服务端
2016-09-08
cxf最少jar包,包含服务器端和客户端
2016-09-07
网络爬虫,爬指定网页的所有连接
2016-09-02
java统计高并发首页访问量,记录客户登录信息
2016-09-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人