- 博客(35)
- 资源 (12)
- 收藏
- 关注
原创 内网穿透工具
gitee地址:https://gitee.com/ruchsky/go-huj-net-proxynet-proxy 网络代理工具通过本工具可以解决"内网服务无法直接被外网访问到"的问题。功能列表内网路由随便穿透(需要一台公网代理服务器,配置无要求)基本原理内网可以访问到公网,这是唯一的突破点。首先,在公网(比如阿里云)部署一个服务端,服务端同时监听两个端口 6666 ...
2019-12-11 17:40:36 190
原创 go语言实现爬取16xx商家联系方式
在之前一次帮朋友做一个crm,需要根据168x的商家联系方式链接爬取商家的联系方式地址等等,但是因为用的java做的项目,在实现爬取数据方面还挺麻烦的,但还是实现了,在学习了go语言之后发现实现一个爬虫程序很简单,所以写了个爬取168x商家联系方式的demogo-huj-crawler 爬虫实现实现得功能 爬取168x网站商家联系方式使用框架 goquery调...
2019-11-06 11:10:04 437
原创 go语言实现微服务注册中心
gohuj微服务注册中心概述 gohuj项目是使用go语言开发的一套微服务注册中心,基于raft协议来实现分布式一致性的leader选举实现的功能:基于raft协议leader选举 服务注册 服务发现启动文件main包下面的Gohuj.go文件基本设计 服务可以单节点启动 也可以集群方式启动,通过配置文件application.in文件配置服务器列...
2019-11-01 13:42:41 2228
原创 限流算法之漏桶算法与令牌桶算法
背景: 在是我们实际的生产场景中,我们需要对大到整个服务网关,细到某个接口方法做流量控制,限流,解决并发请求负载过高,导致大到可能压垮服务,导致某节点不可用,所以我们需要限流,通常做法是请求超出预算后排队,或者直接拒绝请求.漏桶算法 漏桶算法基本思路就是当请求到一个缓冲区,然后从缓冲区流出再去处理请求,缓冲区(桶)的大小,从缓冲区(请求响应速度)流出的速度是关键。其...
2019-04-21 13:18:15 819
原创 java虚拟机中对象的回收-笔记
先来说一说System.gc();方法当执行这个方法的时候,告诉java虚拟机(这里简称jvm)需要进行垃圾回收,但是不能保证一定回收,判断是否回收对象取决于jvmGC roots 对象jvm回收对象的算法是判断一个对象有没有与GC Roots引用链相连,如果没有相连,认为对象可以回收可作为GC Roots对象有下面几种: 1.虚拟机栈(栈帧中的本地变量表)中的引用对象...
2019-01-02 14:28:06 280
原创 kafka的控制器选举以及作用
先来说一说kafka控制器的作用kafka的控制器本身是一个broker,它有broker的功能,还负责kafka的分区首领的选举上面先简单描述一下分区的概念,一个主题可能创建了多个分区,每个分区针对不通的消费组都是独立的,有序的,每个分区可能有多个副本,加入5个broker,分区的复制系数为3(复制系数这些配置可以参考kafka的配置,官方的文档描述的还是挺全的),那么有三台broker...
2019-01-02 11:18:00 809
原创 kafka消费者分区分配策略及自定义分配策略
kafka消费者如何分配分区以及分配分区策略和源码解释我们知道kafka的主题中数据数据是按照分区的概念来的,一个主题可能分配了多个分区,每个分区配置了复制系数,为了可用性,在多个broker中进行复制,一个分区在多个broker中选举出一个副本首领,消费者只访问这个分区副本首领,这些在本章节不重要,本章节阐述一个消费者如何选定一个主题中多个分区中的一个分区,和kafka的分区分配策略核心源码...
2018-12-28 16:05:48 5060 4
原创 kafka中生产者自定义分区器
kafka中生成者自定义分区器,以及分区的分发策略,先来直接看看如何实现,直接附上代码案例首先先实现 Partitioner接口,创建一个自定义分区器package com.hj.kafka.producer;import java.util.List;import java.util.Map;import org.apache.kafka.clients.producer.Pa...
2018-12-26 17:19:09 1583 1
原创 kafka如何保证数据不丢失
生产者数据不丢失 生产者发送数据有同步方式和异步方式,先来看一下生产者一些关键配置项, 同步方式下配置producer.type=sync request.required.acks=1 在同步方式下发送数据,在发送的时候会产生阻塞,等待ack反馈,acks有三个参数0, 1,all,acks参数设置为0表示不等待反馈,表示不需要等待kafk...
2018-12-26 15:45:25 1764
原创 zookeeper的集群内部选举leader
zookeeper选举leader的情形有两种,第一种是集群刚启动的时候,第二种是集群运行中leader脑裂,导致集群中半数follower与leader心跳检测不到,这些情况下需要选举leader第一种情形,集群刚启动的时候选举leader流程,我们先假设集群中又5台zk服务器,编号分别为1, 2, 3, 4, 5,根据zk的快速选举过程fastleaderelection,需要半数达成一致...
2018-12-19 10:50:32 1245
原创 curator操作zookeeper常用API整理
需要引入maven依赖 <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4.6</version> </d
2018-11-29 09:28:59 336
原创 zookeeper客户端之Curator实现分布式锁案例以及实际场景案例
背景: 背景很多,比如集群中多个节点生成某个序列ID, 多个节点同时在自身节点做某些事,但是这件事只能同时只有一个节点去做,网上看过一些案例,比如火车票,库存减少等很多案例,还有一种极端的情况,比如有两个内部的系统之间服务的交互,在A系统开启线程调用B系统之后执行下面逻辑,然而B系统中有的逻辑要等A系统执行完之后再执行,有的A系统要等B系统执行完部分逻辑在执行,以此交替,这种非常...
2018-11-28 17:23:26 393
原创 zookeeper客户端之Curator选举案例以及实际场景案例
背景: 在一个小规模集群当中有十台服务器,我们需要从另外一个集群的消息获取队列到本地的队列(假设有一个外部的ActiveMQ集群),由于另外一个集群当中的消息队列是发布订阅模型,那么如果我们集群中10台服务器都定时任务去访问那么就会有重复的消息放到本地队列,那么这个时候我们只需要其中一台服务器去获取外部集群中的消息放到本地队列就行解决方案: 1. 通常在我遇...
2018-11-28 11:45:24 325
翻译 zookeeper的ZAB协议-崩溃恢复与消息广播模式
参考从《paxos到zookeeper分布式一致性原理与实现》书中介绍过,zookeeper所使用的一致性协议与paxos一致性协议还有所不同,paxos一致性协议在未弄懂之前理解与实现比都较复杂,具体可以参考相关资料,这里不并叙述。ZAB协议包括两种基本模式,崩溃恢复,消息广播崩溃恢复模式,当一台leader服务器崩溃了之后,ZAB协议就会进入崩溃恢复模式,在所有的follower服...
2018-11-26 14:57:48 1194 1
原创 Netty中实现MessagePack编解码器以及解决粘包问题-参考netty权威指南2
首先maven需要增加依赖 <dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version>4.1.30.Final</version> &
2018-11-05 16:04:43 387
原创 java多线程编程核心技术笔记-停止线程interrupt()方法
本文没有太多的语言描述,我认为代码和注释能更好的理解,工作多年接触多线程开发也不少,这里从头看看书加深学习.
2017-08-03 14:34:29 241
原创 并发编程CountDownLatch的使用以及应用场景
CountDownLatch 是一个线程辅助类,主要用到下面两个方法:1.首先通过构造函数先初始化线程数量 CountDownLatch countDown = new CountDownLatch(10);2.每个线程执行完需要调用countDown()方法, 这个方法每次调用会使CountDownLatch 中的count数减去1,可以这么理解,其实count是存在Coun...
2017-07-31 11:05:56 547
原创 java递归简单案例
java递归案例, 先假设有地区这么一个类,地区呢 有上级地区, 下级的所有地区, 有地区编码, 地区名称public class Area{ private List<Area> childs; private Area parent; private String code; private String name; public Lis...
2016-11-04 11:42:09 546
原创 oracle存储过程的动态游标的简单例子
CREATE OR REPLACE PROCEDURE testp(p_value IN VARCHAR2) IS TYPE ref_cursor_type IS REF CURSOR; --定义一个动态游标 users ref_cursor_type; --定义游标类型 user Users%ROWTYPE; --定义变量类型, 这里的users是表明...
2016-10-05 15:54:45 10448 5
原创 java中把List转成json数组格式的字符串
这里是使用alibba的feastJson,需要添加依赖<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.4</version> <
2016-02-25 17:48:39 9043
原创 java 实体类转成json字符串
https://blog.csdn.net/u012745028/article/details/50739503
2016-02-25 17:45:01 9937 1
原创 java调用外部webservice的实例
java调用webservice的简单实例 高效简洁,也是非常常用的一种(至少在我遇到过的项目)
2016-01-22 15:36:25 32818 5
原创 oracle创建一个函数例子
create or replace function isNotNull(val1 varchar2, val2 varchar2, val3 varchar2) //参数列表return varchar2 //返回结果类型asbegin if val1 is not null then return val1; end if; if val2 is not
2016-01-08 15:58:42 740
转载 oracle给表进行分区
此链接http://www.cnblogs.com/leiOOlei/archive/2012/06/08/2541306.html
2015-12-18 16:45:39 575
原创 ajax的异步提交以及返回数据的处理,重点json
在工作中,因为种种原因我需要用到了ajax,本身是一个java工程师,但是做java的并不是一辈子写后台,特别是如今的b/s架构,所以通过自身学习了ajax,废话不多扯,看下面。1.首先我们需要一个完整XMLHttprequestvar req;if(window.ActiveXObject){req = new ActiveXobject("Microsoft.XMLHT
2015-05-12 20:57:43 2173 1
hibernate-annotations-3.4.0.GA.zip
2014-05-21
韩顺平PHP教程
2014-05-20
郝斌C语言JAVA数据结构数据库下载地址
2014-05-20
韩顺平j2ee实战教程下载地址
2014-05-20
韩顺平玩转oracle10g
2014-05-19
韩顺平j2ee购物商城的全部源码
2014-05-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人