201809-28 SpringBoot集成RabbitMQ消息队列搭建与ACK消息确认入门 1.Windows下安装RabbitMQ的步骤详解+图解(erlang+RabbitMQ) 2.SpringBoot集成RabbitMQ参考文章 1.RabbitMQ介绍 RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易.... 阅读全文
201809-28 从头开始搭建一个Spring boot+RabbitMQ环境 消息队列在目前分布式系统下具备非常重要的地位,如下的场景是比较适合消息队列的: 跨系统的调用,异步性质的调用最佳。 高并发问题,利用队列串行特点。 订阅模式,数据被未知数量的消费者订阅,比如某种数据的变更会影响多个系统的数据,订单数据就是比较好理解的。 之前有一个场景是商.... 阅读全文
201809-28 springboot(集成篇):RabbitMQ集成详解 RabbitMQ 即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用。 消息中间件在互联网公司的使用中越来越多,刚才还看到新闻阿里将RocketMQ捐献给了apache,当然了今天的主角还是讲RabbitMQ。消息中间件最主要的作用是解耦,中间件最标准的用.... 阅读全文
201809-28 RabbitMq + Spring 实现ACK机制 概念性解读(Ack的灵活) 首先啊,有的人不是太理解这个Ack是什么,讲的接地气一点,其实就是一个通知,怎么说呢,当我监听消费者,正常情况下,不会出异常,但是如果是出现了异常,甚至是没有获取的异常,那是不是这条数据就会作废,但是我们肯定不希望这样的情况出现,我们想要的是,如果在出现异常的时候,我们识别到,如果确实是一个不良异常,肯定希望数据重新返回队列中,再次执行我们的业务逻.... 阅读全文
201809-28 SpringBoot整合RabbitMQ之Direct Exchange直连交换机(学习总结) 一、前言 在总结Spring Cloud Bus消息总线的时候,需要用到RabbitMQ消息中间件,由于之前对MQ还不是很熟悉,所以花了一点时间研究了一下RabbitMQ。 二、简介 RabbitMQ 是一个消息中间件,以异步的方式处理消息,实现了与业务之间的解耦,同时还有消息分发,消息缓存等.... 阅读全文
201809-19 Java实现国密算法SM2,SM3,SM4,并且实现ECB和CBC模式 代码中实现了电码本ECB模式和密文分组连接CBC模式,SM3.java和SM4.java为算法实现类,utils的都是根据实现类写的工具,可以根据需要调用杂凑算法SM3的杂凑功能获得杂凑值。 SM4.java中 sm4_crypt_ecb(SM4_Context ctx,.... 阅读全文
201809-12 Spring Data JPA使用复合主键 演示环境 MySQL 5.7 JDK1.8 spring-data-jpa 1.10.4.RELEASE hibernate 5.1.2.Final 这里演示一个余额宝的例子,一个用户一天一条记录,表示一个用户一天的收益情况。其中,用户ID,日期是复合主键 项目总.... 阅读全文
201809-12 加密机相关 数据加密机主要用于实现对主机应用层数据加/解密、消息来源正确性验证、密钥管理等。全国大多数商业银行,城市一卡通系统、公交卡系统、社保卡系统、加油卡系统,金融IC卡系统、电子联行系统、综合业务系统、信用卡系统、银证转帐系统、企业银行系统、网上证券交易系统都有应用. 在1996年以前,国产的数据加.... 阅读全文
201809-09 MySQL数据切分、负载均衡和集群 1 系统环境 系统:CentOS 7。 版本:MySQL 5.6.35。 2 概述 3 数据切分(Sharding) 水平分库分表需用一个冗余字段(如id)作为切分依据和标记字段,常用有如下策略: id取模,将不同段位id分配到对应库表。 hash取模,根据id的hash值,划分到不同库表。 路由表,由一个服务器保存id和对应库表的映射关系,通过查询该映射连.... 阅读全文
201809-09 MySQL集群之五大常见的MySQL高可用方案(转) 1. 概述 我们在考虑MySQL数据库的高可用的架构时,主要要考虑如下几方面: 如果数据库发生了宕机或者意外中断等故障,能尽快恢复数据库的可用性,尽可能的减少停机时间,保证业务不会因为数据库的故障而中断。 用作备份、只读副本等功能的非主节点的数据应该和主节点的数据实时或者最终保.... 阅读全文