自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(106)
  • 资源 (21)
  • 问答 (1)
  • 收藏
  • 关注

原创 SpringBoot中使用注解的方式创建队列和交换机

最开始蘑菇博客在进行初始化配置的时候,需要手动的创建交换机,创建队列,然后绑定交换机,这个步骤是非常繁琐的,而且一不小心的话,还可能就出了错误,之前就有个小伙伴在创建交换机的时候 , 将交换机的名称写成了。然后导致消息无法正常被消费,后面通过排查了很久才发现这个问题,下面为了解决这个手动创建的痛苦,使用了注解的方式来进行队列和交换机的创建。

2023-11-21 16:42:19 266

原创 花了一个月时间,做了自己想做的事水母记账上线啦

成功的人不是赢在起点,而是坚持到终点

2023-11-21 16:24:06 217

原创 生产环境p0级故障:用户钱付了,订单还是显示未支付,用户把我们投诉了!

2022年9月3号,星期六,天气晴。辛苦一周终于可以不用早起美美的睡个懒觉啦。结果事与愿违…;生产环境爆出p0级事故。用户订单支付成功了,但是订单状态显示未支付…毫无疑问,用户肯定会炸,结果不是客诉,就是差评。用户感觉受到了欺诈那么这种情况是怎么发生的呢?我们先简单分析下订单支付的完整流程:订单支付的完整流程1、用户从平台前端(app、小程序等)发起支付申请,到订单服务,计算本次需要支付金额;2、订单服务向支付服务提交支付申请;

2022-09-12 16:53:43 663 1

原创 SpringCloud Gateway 基于nacos实现动态路由

Spring Cloud Gateway作为微服务的入口,需要尽量避免重启,而现在配置更改需要重启服务不能满足实际生产过程中的动态刷新、实时变更的业务需求,所以我们需要在Spring Cloud Gateway运行时动态配置网关。

2022-09-06 19:08:49 1656

原创 基于GoLang实现API短信网关

在消息系统中,短信网关和短信渠道的对接是最核心的功能。其中短信网关是对外提供服务的接口,所有需要发送短信的操作都需要通过短信网关分发到对应的渠道上。一旦定型,后续就很少,也很难调整。而短信渠道是接收网关的请求,调用渠道接口执行真正的发送短信操作。每个渠道的接口,传输方式都不尽相同,所以在这里,短信网关相对短信渠道模块的作用,类似设计模式模式中的wrapper,封装各个渠道的差异,对网关呈现统一的接口。而网关的功能就是为业务提供通用接口,一些和渠道交互的公共操作,也会放置到网关中。...

2022-07-20 19:09:48 749

原创 Golang学习路线及基础知识点梳理

大家好,今天给大家分享Go语言的学习路线,如果大家想转Go语言或者已经在使用Go语言了,那么可以根据这个学习路线进行学习和巩固。另外分享Go语言的基础知识点,分享给大家,大家可以根据这个思路去梳理下其他的语言,构建下自己的知识体系,形成自己的技能拓扑......

2022-06-17 21:56:51 507

原创 Golang 操作Redis五大数据类型 String、List、Hash、Set、Zset

前言使用redis首先要部署redis,载个安装包,部署下即可,本文不赘述了。redis官网:https://redis.io/接着要下载golang的redis资源包,golang官方推荐的有redisgo和go-reids,个人认为go-redis的封装更加人性化,redisgo的调用是基于命令的,go-redis是基于方法的,所以本文先来介绍go-redis的使用。2行代码来比较下2种资源包的调用方式:redisgo: client.Do("SET", "mykey", "我是数据", "EX

2022-05-30 12:29:59 2374

原创 Apache Pulsar部署及可视化监控部署

一、Apache Pulsar的Local模式构建1.1、启动服务Standalone Local单机本地模式, 是pulsar最简单的安装方式, 此种方式仅适用于测试学习使用, 并无法作为生产环境中使用。下载Apache Pulsar2.10​ apache-pulsar-2.10.0-bin.tar.gz服务器系统要求:Currently, Pulsar is available for 64-bit macOS, Linux, and Windows. To use Pulsar, you

2022-05-16 12:50:36 3351 1

原创 基于网关服务监控方案

一、需求背景为监控微服务接口运行情况如响应时间、成功率、接口请求频次、业务高峰期段等信息,需对接口进行监控,并可视化展示。二、方案选择方案选择,通常解决方案采用Metics埋点方式,业务系统基础埋点SDK,将埋点日志输出到本地,通过agent将埋点日志发送到Kafka,由Kafka将埋点日志推送到InfuxDB,并通过Grafan进行展示。这里由于我们服务尚未基础埋点,集成埋点工作量较大,短期内无法落地。同时现有技术体系中未使用InfuxDB等时序数据库和数据展示工具。所以我们采用简单数据采

2022-04-30 23:27:25 1343 1

原创 MongoDB实战项目-绘本管理

一、绘本项目需求1.1、绘本管理管理绘本分类和绘本管理;绘本分类需维护分类编号、分类名称、父级分类编号等字段绘本主要维护绘本编号、绘本名称、绘本作者、绘本简介、绘本封面、绘本音频、绘本视频、绘本阅读量、绘本每页详情图片、页码、单页说明等信息。二、模型设计2、针对以上需求,我们对MongoDB进行简单的模型设计。绘本分类数据模型:{"typeNo":"A0002","typeName":"A0002","status":{"$numberLong......

2022-04-27 15:03:26 981

原创 MongoDB 一次数据库请求发生了什么?

1、应用端 首先应用端选择相应节点,从链接池中获取该节点连接,判断链接是否有效; 对于复制集读操作,选择哪个节点是由readPreference决定的: primary/primaryPreferred secondary/secondaryPreferred nearest 如果不希望一个远距离节点被选择,应做到以下之一: 将它设置为隐藏节点; 通过标签(Tag)控制可选的节点; ....

2022-04-11 21:52:29 796

原创 MongoDB (六) 开发最佳实践

1.1、关于连接到MongoDB关于驱动程序:总是选择与所用之 MongoDB 相兼容的驱动程序。这可以很容易地从驱动兼容对照表中查到; 如果使用第三方框架(如 Spring Data),则还需要考虑框架版本与驱动的兼容性; 关于连接对象 MongoClient:使用 MongoClient 对象连接到 MongoDB 实例时总是应该保证它单例,并且在整个生命周期中都从它获取其他操作对象。 关于连接字符串:连接字符串中可以配置大部分连接选项,建议总是在连接字符串中配置这些选项;// 连接到复制集

2022-04-10 22:51:03 1147

原创 MongoDB (五) 索引机制

一、相关术语1.1、Index/Key/DataPage索引、键、数据页分别是什么?什么是索引Covered Query,覆盖查询如果所有需要的字段都在索引中,不需要额外的字段,就可以不再需要从数据页加载数据,这就是查询覆盖。db.human.createIndex({firstName: 1, lastName: 1, gender: 1, age: 1})IXSCAN/COLLSCAN索引扫描/集合扫描(全表扫描)Query Shape查询形态,即查询条件:不

2022-04-10 22:19:43 2134

原创 MongoDB (四):事务开发

一、什么是writeConcern?writeConcern 决定一个写操作落到多少个节点上才算成功。writeConcern 的取值包括:0:发起写操作,不关心是否成功; 1~集群最大数据节点数:写操作需要被复制到指定节点数才算成功; majority:写操作需要被复制到大多数节点上才算成功。 all: 全部节点。发起写操作的程序将阻塞到写操作到达指定的节点数为止。1.1、默认行为3节点复制集不作任何特别设定(默认值):当我们发起一个请求时(新增,修改,删除),primar

2022-04-10 11:43:41 865

原创 MongoDB 三 数据模型

1、什么是数据模型数据模型是一组符合、文本组成的集合,用以准确表达信息,达到有效交流、沟通的目的。比如:保险公司经济人,我们关注的客户主要关注:客户年龄,年收入,家庭成员,工作行业等等而作为理发店,则主要关注每个月来几次,对发型的需求等等。关注的属性和保险公司所关注的属性完全不同。2、数据模型设计的元素2.1、实体Entity 描述业务的主要数据集合 谁,什么,何时,何地,为何,如何。 2.2、属性 Attribute属性是进一步用来描述实体的,比如我们看下

2022-04-09 22:31:22 936

原创 MongoDB教程(二)SpringBoot 集成 MongoDB 完成增删改查

MongoDB教程(二)SpringBoot 集成 MongoDB 完成增删改查

2022-04-09 09:46:48 681

原创 MongoDB教程(一):MongoDB云服务免费开通

本章内容教大家怎么在MongoDB官网开通免费的MongoDB集群服务,开通的服务可以供我们测试和功能演示使用。1、首先注册MongoDB的官网账号,这里我已经注册,就先不过多说明了,主要提供个邮箱就可以啦。MongoDB 官网2、申请免费服务选择免费服务这里我们选择免费的服务,点击创建。select-cloud创建过程中需要我们选择免费服务云服务运行商,这里我选择的aws云服务托管方。select-diqu我们选择亚洲香港区域托管我们MongoDB服务集..

2022-04-06 15:48:43 2307 1

原创 Centos7安装docker仓库Harbor

Centos7安装docker仓库Harbor

2022-03-30 19:55:23 2049

原创 从7个角度解释Netty为什么这么快?深入实践基于Netty构建Dubbo服务

Netty 是一个高性能、异步事件驱动的NIO 框架,基于 JAVA NIO 提供的 API 实现。它提供了对TCP、UDP 和文件传输的支持,作为一个异步 NIO 框架,Netty 的所有 IO 操作都是异步非阻塞的,通过 Future-Listener 机制,用户可以方便的主动获取或者通过通知机制获得 IO 操作结果.一、Netty 高性能的原因在 IO 编程过程中,当需要同时处理多个客户端接入请求时,可以利用多线程或者 IO 多路复用技术进行处理。IO 多路复用技术通过把多个 IO 的阻塞..

2022-01-17 21:55:44 1254

原创 Java 锁、线程上下文、阻塞队列详解

一、Java锁1.1乐观锁乐观锁是一种乐观思想,即认为读多写少,遇到并发写的可能性低,每次去拿数据的时候都认为 别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数 据,采取在写时先读出当前版本号,然后加锁操作(比较跟上一次的版本号,如果一样则更新), 如果失败则要重复读-比较-写的操作。java 中的乐观锁基本都是通过 CAS 操作实现的,CAS 是一种更新的原子操作,比较当前值跟传入值是否一样,一样则更新,否则失败。1.2悲观锁悲观锁是就是悲观思想,即

2022-01-14 16:04:55 550

原创 线程的生命周期

当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。在线程的生命周期中,它要经过新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)和死亡(Dead)5 种状态。尤其是当线程启动以后,它不可能一直"霸占"着 CPU 独自运行,所以CPU 需要在多条线程之间切换,于是线程状态也会多次在运行、阻塞之间切换。新建状态(NEW)当程序使用 new 关键字创建了一个线程之后,该线程就处于新建状态,此时仅由 JVM 为其分配内存,并初始化其成员变量

2022-01-14 13:37:23 605

原创 Java 创建多线程的四种方式

JAVA 并发知识库JAVA线程创建方式1、继承 *Thread* 类Thread 类本质上是实现了 Runnable 接口的一个实例,代表一个线程的实例。启动线程的唯一方法就是通过Thread 类的start()实例方法。start()方法是一个 native 方法,它将启动一个新线程,并执行run()方法。publicclassMyThreadextendsThread{publicvoidrun(){System.out.println("My...

2022-01-13 13:17:33 467

原创 Java基础面试必备-集合

一、 接口继承关系和实现集合类存放于Java.util 包中,主要有 3 种:set(集)、list(列表包含Queue)和 map(映射)。 Collection:Collection 是集合 List、Set、Queue 的最基本的接口。 Iterator:迭代器,可以通过迭代器遍历集合中的数据 Map:是映射表的基础接口 image-20220112213029937 image-202201122130502541.1. ListJava 的

2022-01-12 22:38:31 93

原创 Java 基础复习-JVM面试通关

Jvm基础知识

2022-01-11 23:39:47 101

原创 基于腾讯云tdmq消息队列封装SpringBootStarter(一)

一、环境准备1.1 注册腾讯云TDMQ创建tdmq集群创建完成后记录下集群ID(clusterId);1.2 创建命名空间创建好集群后,在命名空间中新建命名空间,命名空间名称可以根据实际业务场景进行区分,比如这里创建可以根据测试环境、预发布环境、生产环境等进行区分创建。新建命名空间1.3、创建好命名空间后,新建个`topic`主题。创建topic以上信息创建好后,我们在集群中可以看到集群的访问地址,如下:查看接入地址在创建tdmq集群时我们需要..

2022-01-03 14:38:44 1262

原创 基于腾讯云tdmq消息队列封装SpringBootStarter(二)

关于腾讯云tdmq的基本使用参见《基于腾讯云tdmq消息队列封装SpringBootStarter(一)》,这里我们基于之前的内容在次进行优化封装。一、创建消费者注解(TdmqConsumer)和生产者注解(TdmqProducer)1.1、基础工程回顾首先我们回顾下上一章完成的基础功能。工程目录上一章我们创建了配置目录config、生产者和消费者目录,以及META-INF目录和spring.factories配置文件。在此基础上我们继续完善我们的工程。1.2、创建注解在

2022-01-03 14:33:00 1055

原创 Mac OS Fabric环境搭建

一、环境准备1.1、docker环境安装这里采用官方脚本自动安装:curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun安装完成后,使用一下命令启动docker服务sudo systemctl start docker1.2、Docker Compose环境安装Linux 上我们可以从 Github 上下载它的二进制包来使用,最新发行的版本地址:https://github.com/docker/com

2021-12-22 18:23:06 12771

原创 Shiro重构:整合token和cookie实现登陆及验证

Shiro重构:整合token和cookie实现登陆及验证认证服务开始只支持PC端的cookie认证方式,因业务需要,要对小程序、H5、App等移动端设备进行认证,这里复用认证服务。由于小程序不支持cookie认证方式,采用token认证方式,这里对认证服务进行重构。认证服务主要是有Shiro框架研发,我们简单熟悉下Cookie的认证流程。Shiro的cookie认证流程我们简单说明下,shiro是在其默认的会话管理器DefaultWebSessionManager中获取请求携带过来的cooki

2021-10-16 17:22:14 3766 8

原创 Go语言Elasticsearch数据清理工具

Go语言Elasticsearch数据清理工具微服务架构中收集通常大家都采用ELK进行日志收集,同时我们还采用了SkyWalking进行链路跟踪,而SkyWalking数据存储也用到了ES,SkyWalking每天产生大量的索引数据,如下:WX20211008-104751@2x这里一天大概产生了700左右个索引数据。对历史的链路数据我们不做过多的保留。这里我整理了个小工具,可以定期清理es数据。一、清理思路可以看到索引数据都是以日期结尾,我们可以根据日期去匹配索引数据,并对

2021-10-08 11:34:21 778

原创 RabbitMq消息丢失原因及其解决方案

RabbitMq消息丢失原因及其解决方案一、RabbitMQ消息丢失原因我们首先了解下一条消息从生产到消费的整个流程如下:生产-->MQ Broker --> 消费。所以这三个环节都有丢失消息的可能。1.1、生产者丢失消息生产者将数据发送到rabbitmq的时候,可能因为网络问题导致数据就在半路给搞丢了。1.使用事务(性能差)​ RabbitMQ 客户端中与事务机制相关的方法有三个: channel.txSelect 、channel.txCommit 和 cha

2021-10-07 17:28:25 5126 3

原创 SpringBoot 集成RabbitMQ

SpringBoot 集成RabbitMQ一、Docker安装Rabbit MQ运行下面命令,docker 可自动拉取镜像,并启动mq。dockerrun-d--namerabbitmq-p5671:5671-p5672:5672-p4369:4369-p25672:25672-p15671:15671-p15672:15672rabbitmq:management我们执行完成后可以运行docker ps查看下mq运行情况我们看到RabbitMq...

2021-10-07 12:45:21 1413

原创 CompletableFuture 异步编排详解

CompletableFuture 异步编排详解详情请查看:JulyWhj博客业务场景:查询商品详情页面逻辑比较复杂,有些数据需要远程调用,必然需要花费更多的时间。假如商品详情每个页面查询,需要的如下的标准时间完成,那么用户需要10s才能完成。这里我们需采用异步查询,但是比如接口A查询商品信息,而接口B需要查询商品的SKU,接口C需要查询商品供应商等信息,如接口C必须依赖接口A或接口B的返回值。那么我们就需要使用CompletableFuture接口来实现。一、开启异步编程runAsync:无入

2021-09-30 17:28:38 579

原创 Redis面试题-持续更新

1、什么是Redis?Redis是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。Redis与其他key-value缓存产品有一下三个特点:redis支持数据的持久化可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。Redis支持丰富的数据类型Redis不仅支持简单的key-value类型的数据,同时还提供list、set、zset、hash等数据结构的存储。Redis支持数据的备份即master-slave模式的数据备份。Redis优势

2021-08-17 18:07:28 199

原创 Mybaits 面试题

1、什么是mybaitis?1、mybatis 是一个半ORM框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直接编写原生态sql,可以严格控制sql执行性能,灵活度高。2、Mybatis 可以使用XML或注解来配置和映射原生信息,将POJO映射成数据库中的记录,避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。3、通过xml文件或注解的方式将要执行的各种statement配置起来,并通过java对象

2021-08-15 22:21:00 261

原创 支付宝微信支付服务端项目构建

支付宝微信支付服务端项目构建添加pom依赖在pom中添加一下信息<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.

2021-07-08 08:39:53 839 1

原创 flutter mbp m1环境搭建

一、flutter mbp m1环境搭建1.1、下载flutter sdk进入 Flutter 官网下载flutter SDK。首先看到系统要求,如下:需要64位操作系统、磁盘空间不小于2.8G,不包括xcode的环境。建议安装git、和xcode.当然如果我们使用flutter编译ios环境,xcode必不可少。我们点击链接,下载Flutter sdk,到本地,并解压。我这里解压在/Users/xxxx/tools/flutter 目录下,1.2、配置环境变量打开终端输入命令行v

2021-07-07 08:40:03 527 1

原创 SpringCloud研发微信公众平台-前端环境搭建

SpringCloud研发微信公众平台-前端环境搭建本次课程前端技术栈采用 uni-app + uview 框架进行研发。研发工具采用HBuilderx工具研发工具下载HBuilderx工具 官方下载地址,这里推荐下载App开发版,下载对应的平台版本即可。工程创建打开安装好的编译器HBuilderx。创建完成后,项目目录如下项目本地运行微信小程序方式运行在编辑器中,选择运行–运行到小程序模拟器–微信开发者工具这个过程第一次时间较长,如出现一下页面,则项目运行成功。[外链图片转存

2021-07-07 07:41:54 335 2

原创 docker通过nginx部署公司官网支持https访问

docker通过nginx部署公司官网一、准备静态页面这里不做过多解释,公司官网本次演示采用静态html模版。二、上传网站到服务器这里采用scp命令上传scp -P 6022 -r home [email protected]:/root/706 文件上传后,我们在服务器中创建Dockerfile文件。这里我们配置的nginx成ssl,支持https协议。FROM nginxMAINTAINER wanghongjieCOPY home/ /usr/share/nginx/html/

2021-06-21 15:44:36 264

原创 微服务系统监控体系

分布式系统监控体系微服务的分层和监控监控是为服务治理的关键环节,监控系统的完善程度,直接影响整个微服务系统质量的好坏,我们微服务在线上运行的时候,有没有一套完善的监控体系,能够实时了解它的健康情况,对整个系统的可靠性和稳定性是非常重要的。本篇文章会介绍一下比较完善的微服务监控体系需要涉及哪些层次。微服务的监控层次主要划分为五个监控层次,分别是:基础设施监控、系统层监控、应用层监控、业务层监控、端用户体验监控。如下图基础设施监控该层次一般由运维团队负责,涉及的方面有网络交换机等,底层设备监控,这些

2021-01-06 21:13:11 1134 1

原创 微服务最经典的三种服务发现机制

微服务最经典的三种服务发现机制大家好,今天给大家分享一篇关于微服务的服务发现机制。在分布式系统当中有许多服务,在有些公司可能有几十个甚至上百个的服务。那么这些服务当中有生产者有消费者,那么这些消费者该怎么发现生产者呢?这就是微服务的服务发现问题。经过实战经验,这里给大家总结了三种主流的服务发现机制,第一种传统基于LB的模式,第二种进程内LB模式,第三种主机独立LB模式。传统LB模式目前大部分公司还是基于传统的LB方式进行做服务发现和负载均衡的,这个模式有一个独立的LB负载均衡的概念,比如使用硬件的F

2021-01-06 20:57:02 976

2022年度最新Apache Pulsar versus Apache Kafka

2022年度最新Apache Pulsar versus Apache Kafka

2022-05-12

阿里巴巴面试官手册.pdf

阿里巴巴面试官手册包含:分布式、中间件、大数据与高并发、数据库、设计模式与实践、数据结构与算法、面试题举列等信息。内容较多很全面200多页干货内容,适合自己平时查漏补缺。

2020-08-10

JAVA-YSM9.zip

# 密钥生成中心KGC **KGC**类是用来生成SM9密钥的,包括主密钥对和用户私钥。 主密钥对又分为签名主密钥对和加密主密钥对。主密钥对包括一个公钥和一个私钥,私钥就是一个[1,N-1]范围内的随机数,签名公钥是P2的私钥倍点,加密公钥是P2的私钥倍点。 用户私钥包括签名私钥和加密私钥。用户私钥使用SM9标准中的hid进行标识: - 1:签名私钥,用于签名 - 2:加密私钥,解封和解密 - 3:也是加密私钥,但用在密钥交换中 # SM9算法实现 SM9的算法实现放在**SM9**类中,主要包括: - 签名算法和验签算法 - 密钥封装算法和密钥解封算法 - 加密算法和解密算法 - 密钥交换算法 # 测试《GMT 0044-2016 SM9标识密码算法:第5部分》

2020-06-28

ripemd160.zip

sha 256、 ripemd160 哈希值的输出值一般是16进制的字符串。而16进制字符串,每两个字符占一个字节。我们知道,一个字节=8bit. 以sha256为例: bit :256位bit->64位16进制字符->32个字节。 而ripemd: bit:160位,->40位16进制字符->20个字节。

2019-11-19

base58.zip

base58和base64一样是一种二进制转可视字符串的算法,主要用来转换大整数值。区别是,转换出来的字符串,去除了几个看起来会产生歧义的字符,如 0 (零), O (大写字母O), I (大写的字母i) and l (小写的字母L) ,和几个影响双击选择的字符,如/, +。 结果字符集正好58个字符(包括9个数字,24个大写字母,25个小写字母)。 编码流程 (本质为大数与字符串的转化) 输入为bytes,比如:[0x00, 0xFF] 忽略前面的0x00得到数字256 256通过base58编码为字符串”5Q”,因为要处理0x00,所以得到字符串”15Q” 把字符串“15Q”转化为bytes: [0x49, 0x53, 0x81]

2019-11-19

iText in Action 2nd Edition-signed.pdf

iText in Action 2nd Edition

2019-06-12

基于Netty手写Dubbo框架

基于Netty手写Dubbo,该资源包含 1、生产者向zk服务的注册,消费者发现服务。 2、RPC远程调用实现。 3、netty服务调用,对象序列化和反序列化。 4、负载均衡的简单实现 详情见博客:https://blog.csdn.net/July_whj/article/details/89813536

2019-05-04

Netty In Action中文版

David John Wheeler说过“在计算机科学中的所有问题都可以通过间接的方法解决。”作为一个NIO client-server框架,Netty提供了这样的一个间接的解决方法。Netty提供了高层次的抽象来简化TCP和UDP服务器的编程,但是你仍然可以使用底层地API。(David John Wheeler有一句名言“计算机科学中的任何问题都可以通过加上一层逻辑层来解决”,这个原则在计算机各技术领域被广泛应用)

2019-04-26

GMT 2014-0031 安全电子签章密码技术规范

GMT 2014-0031 安全电子签章密码技术规范。本标准规定了电子印章和电子签章的数据结构、密码处理流程。 本标准适用于电子印章系统的开发和使用。

2019-04-12

SpringBoot源码分析Demo

SpringBoot源码分析Demo,资源分为三个DEMO,其中解析SpringBoot 自动化配置的实现,以及注解解析demo

2018-11-18

Mysql备份与恢复

生产中Mysql备份恢复的形式,基于mysqldump备份及原理,基于Xtrabcackup备份及原理,表空间传输,binlog备份(增量),基于mysql全备+增备的恢复Tips

2018-05-29

ace-admin源码

ace框架源代码,包含文件上传,jqGrid,日期插件,Select2插件等

2018-05-17

Django Web开发指南

本资源讲述如何用Python框架Django构建出强大的Web解决方案。适用于初学者

2018-05-17

python web开发学习实录

包含python的基本语法、流程控制、模块和函数、数据结构、字符串与正则表达式、面向对象编程、文件处理、程序异常处理、数据库链接和持久化操作、python网络功能、python与HTML\XML的应用。Python图像界面的处理、Python Web开发等

2018-05-17

重构:改善既有代码的设计(高清版)

重构:改善既有代码的设计(高清版),重构,绝对是写程序过程中最重要的事之一。在写程序之前我们不可能事先了解所有的需求,设计肯定会有考虑不周的地方,而且随着项目需求的修改,也有可能原来的设计已经被改得面目全非了。

2018-04-16

kafka权威指南工具书

可以完美匹配大数据平台开发,Kafka内部设计详解,用Kafka构建应用的最佳实践,理解在生产中部署Kafka的最佳方式,如何确保Kafka集群的安全。

2018-04-14

Activiti-master

Activiti-master,工作流引擎WEB设计器;版本为5.22.0

2017-11-23

joone jar包、dao包、开发工具

java joone所需 jar包、 joone API、 joone 开发工具

2017-08-28

SQL高手速成

SQL文档,很详细;挺有帮助的;

2017-05-13

jquery日历插件带农历和节假日效果

jquery日历插件带农历和节假日效果;可设置节假日期;

2017-02-06

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

TA关注的人

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