- 博客(18)
- 资源 (1)
- 收藏
- 关注
原创 Druid多数据源 + mybatis动态分库映射
一、需求背景具体的项目不便多说,简单来说是外部将结构化数据发送至 kafka 的数十个 topic。本项目需要消费所有这些数据,并根据topic,存入不同的table。每条结构化数据都拥有公共字段 uid。根据uid 和 table 将映射到某个具体的数据库 dataSource。本文主要是实现根据已知的消息,自动将dao层的sql调用映射到不同的数据库连接,至于kafka 等数据来源是什么,并不重要。因此,下文的实现,仅涉及到一些 Druid 和 aop层面的东西。二、配置过程2.1 添加D
2020-07-10 15:58:38
654
原创 Swagger2Markup 生成PDF、HTML格式的API文档方法整理(中文支持)
本文默认文档处理目录为 /src/doc , 可以根据自己喜好自行配置一、 生成流程由 swagger.json 生成 Asciidoc 文档 (swagger2Markup)由 Asciidoc 文档生成PDF格式的文档 (asciidoctor-maven-plugin)二、生成 Asciidocswagger.json 获取路径如下图: 可以以API 和插件两种方式,将sw...
2020-04-13 14:25:38
1545
原创 Swagger UI 过滤部分API
有时候出于安全考虑,想要过滤Swagger UI前端展示的部分API。此时仅需要修改swaggerConfig即可:@EnableSwagger2public class Swagger2Config { private static final List<String> excludedPathPrefix = Arrays.asList( "...
2020-04-01 10:10:20
3060
原创 windows电脑微信双开 bat 脚本
电脑微信双开:在桌面新建文本文件随意取名,例如: wechat.txt在文件中敲入两行文本(多行也行,几行就是几开)。后面的路径就是微信安装目录下的程序文件start /d "D:\ProgramFiles\Tencent\WeChat" WeChat.exestart /d "D:\ProgramFiles\Tencent\WeChat" WeChat.exe重命名文件,修改文件后缀...
2020-04-01 09:21:50
19478
7
原创 不使用框架实现HTTP API 接口
不使用框架实现HTTP API 接口由于接手的项目不是常用的spring 框架实现的,而是单纯的无框架纯JAVA实现的, 需要实现HTTP API 无法采用常用的 spring 注解实现。因此,采用 内嵌 jetty 服务器的方式实现。pom.xml 添加依赖: <dependency> <groupId>javax.servlet</groupId>...
2019-05-24 11:15:44
1058
原创 LINUX Ubuntu 搭建 git 服务器
linux 搭建git 服务器准备一台linux 服务器即可, 需具备sudo 权限我这里是用的Ubuntu的服务器,只需要简单的apt命令即可完成步骤一、安装gitcmd : apt-get install gitroot@fengtangzheng:~# apt-get install gitReading package lists... DoneBuilding de...
2019-04-29 15:09:42
194
原创 linux ubuntu consul install (linux 系统 安装 consul server)
安装步骤下载consul linux 压缩包consul 官方网页复制下载链接 https://releases.hashicorp.com/consul/1.4.3/consul_1.4.3_linux_amd64.zip需要其他版本可以访问 https://releases.hashicorp.com/consul/wget 下载到服务器任意目录(最好是新建一个目录如 mkdir...
2019-03-16 17:30:20
464
原创 理解Apache kafka 的设计元素和原则(三)
消息传递语义kafka 为生产者和消费者提供了 semantic guarantee 显然,可以有很多种消息传递担保:at most one – 消息可能丢失,但是只会被发送一次 at least one – 消息不会丢失,但是可能会被重发多次exactly one – 消息只会被成功发送一次值得注意的是,问题被拆成两个: 发送消息保证 和 消费消息保证。很多系统都生成提供 ...
2018-05-22 14:46:01
192
原创 Pyqt5自适应布局
PyQt5自适应布局在pyqt5中要做到自适应布局,必须应用Layout类 下面列出类似于 html 中 float 功能的布局方法: 实现原理: PyQt5中的布局中,stretch 属性类似于一个可自适应的空白布局。会尽可能将周围的组件布局向外挤压from PyQt5.QtWidgets import QVBoxLayout, QHBoxLayout# 垂直居中def vc...
2018-05-18 18:01:33
7504
原创 pyqt5+opencv实现视频播放组件,支持实时流播放
pyqt5+opencv实现视频播放详细源码链接为:https://github.com/2500284064/pyqt5-opencv-video 基本原理是通过 VideoCapture 类读取视频源的每一帧数据,将数据转化为图片展示在QWidget中直接贴代码import timeimport sysfrom PyQt5.QtCore import *from PyQ...
2018-05-18 17:16:18
21292
24
原创 理解Apache kafka 的设计元素和原则(二)
生产者负载均衡生产者将消息直接发送给分区的领导者所在的broker,而不经过任何中间路由层。为了实现此功能,所有的kafka节点 可以响应关于那些服务器处于活跃状态,一个分区领导者在给定时间的具体位置等请求来支持生产值适当的指导其请求。 kafka由客户端选择发送消息的分区。这可以随机选择分区,实现一种随机负载均衡,或者也可以通过语义分区功能实现。我们放开语义分区接口来允许用户制定密钥...
2018-05-07 14:29:23
174
原创 理解Apache kafka 的设计元素和原则(一)
前言本文参考apachekafka文档提炼精要所写,英文好的同学可以直接从文末的参考文档传送至官方文档。设计思路kafka的设计开发致力于提供一个处理各种大型实时数据流的统一平台。正因如此,它需要满足一些特性:具备高吞吐量以支持高容量的事件流如实时日志可以优雅的处理大数据积压以支持离线系统的定期数据加载能够处理低延迟交互以满足传统消息应用场景支持分区、分布式和实时处理出...
2018-04-09 16:41:29
325
原创 基本分页存储方式
基本分页存储方式使用kafka的过程对kafka的存储产生了疑惑,又引出了对分页存储的疑惑,对此,对今日分页存储的理解做简要记录为什么要分页存储在内存的分配过程中,连续分配方式容易产生大量的碎片,虽然可以通过“紧凑”对其进行整理,但是这样需要大量的开销。 因此,如果能够在进程的内存分配的时候,将连续的逻辑内存打散分配在多个可以不相连的物理内存上,那么将会利用到原来被浪费的大块碎片,降...
2018-04-06 20:48:48
4538
1
原创 springbootdemo(spring-boot + velociyt + mybatis + shiro)
端午节前一周重新研究了一波当前开发系统的架构,参考诸多文档资料写了一个springboot+veloctiy+mybatis+shiro的demo,并将学习过程记录在此。后续若有时间,将会对此demo丰富升级,将后续学习的东西都填充入本demo。 https://github.com/2500284064/springboot-demo按照时间顺序记录demo开发过程:springb...
2018-03-16 15:56:34
340
原创 应用程序发送消息到外部
以浏览器访问url为例子:1、生成请求消息 2、向DNS服务器查询web服务器IP地址 3、委托协议栈发送消息这里仅先介绍请求消息,后续将介绍其他的内容请求消息:从访问一个url开始,一般来讲,普通用户从浏览器输入的网址都默认是http://开头的url,而实际上,url还可以以其他一些文字开头,如:file:、ftp:、mailto”等之所以有各种各样的url,是...
2018-03-16 15:52:46
313
原创 DNS服务器查询IP地址
简单来说就是应用程序向最近的DNS服务器查询即可。该DNS服务器就会返回该服务器的IP地址。向DNS服务器发送查询,然后接受服务器返回的响应消息,换句话说,对于DNS服务器,我们的计算机上有相应的DNS客户端,相当于DNS客户端的部分称之为解析器。解析器实际上是一段程序,包含在操作系统中的socket库中,Socket库包含的程序组件可以让其他的应用程序调用操作系统的网络功能,而解析器...
2018-03-16 14:58:29
2844
原创 kafka概要架构
Kafka是分布式发布-订阅消息系统, Kafka是一个分布式的,可划分的,冗余备份的持久性的日志服务。它主要用于处理活跃的流式数据。Kafka的基本架构如下图:Kafka的架构比较简单,producer、broker和consumer均可以有多个,通常需要zookeeper来管理broker和consumer。producer和consumer实现kafka注册的接口,消息从producer发送...
2018-03-15 16:38:02
825
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人