yxhcquedu

yxhcquedu

Geek Repo

Github PK Tool:Github PK Tool

yxhcquedu's starred repositories

ExamplesOfDesignPatterns

设计模式的总结与例子(有XMind,Uml图和详细代码实现说明)

Language:JavaStargazers:271Issues:0Issues:0

jrugged

A Java libary of robustness design patterns

Language:JavaLicense:Apache-2.0Stargazers:265Issues:0Issues:0

Head-First-Design-Patterns

Code for Head First Design Patterns book (2020)

Language:JavaStargazers:3118Issues:0Issues:0

java-design-patterns

Design patterns implemented in Java

Language:JavaLicense:NOASSERTIONStargazers:88505Issues:0Issues:0

shark

:shark:分布式mysql分库分表中间件,sharding领域的一站式解决方案

Language:JavaLicense:Apache-2.0Stargazers:500Issues:0Issues:0

spring-boot-dubbo-mongo-mybatis-kafka-liquibase

spring boot 集成各种中间件

Language:JavaStargazers:46Issues:0Issues:0

cobar

a proxy for sharding databases and tables

Language:JavaLicense:Apache-2.0Stargazers:3206Issues:0Issues:0

netty-demo

学习netty时的一些demo,学习书籍netty权威指南,以及自己实现的基于netty的私有协议栈

Language:JavaStargazers:19Issues:0Issues:0

netty-protocol

基于netty的一个私有协议栈

Language:JavaStargazers:4Issues:0Issues:0

netty-chat

使用Netty实现IMServer,支持Tcp和WebSocket实现。

Language:JavaStargazers:482Issues:0Issues:0

netty-websocket

a fully-functioning websocket server built on netty.

Language:JavaStargazers:218Issues:0Issues:0

netty-socketio

Socket.IO server implemented on Java. Realtime java framework

Language:JavaLicense:Apache-2.0Stargazers:6707Issues:0Issues:0

netty-4-user-guide-demos

Netty demos. (Netty 案例大全)

Language:JavaStargazers:1844Issues:0Issues:0

netty-restful-server

A light restful server built on netty. If you are preparing for leaning java or netty, it's a nice gift for you.

Language:JavaLicense:MITStargazers:409Issues:0Issues:0

tcc-transaction

tcc-transaction是TCC型事务java实现

Language:JavaLicense:Apache-2.0Stargazers:5748Issues:0Issues:0

ByteTCC

ByteTCC is a distributed transaction manager based on the TCC(Try/Confirm/Cancel) mechanism. It’s compatible with the JTA specification. User guide: https://github.com/liuyangming/ByteTCC/wiki

Language:JavaLicense:LGPL-3.0Stargazers:2894Issues:0Issues:0

hasting

使用java nio,oio,aio等原生态io和线程池,实现的分布式跨语言服务化框架

Language:JavaLicense:MITStargazers:201Issues:0Issues:0

HRPC

A light-weight high performance RPC framework base on Netty and Zookeeper

Language:JavaStargazers:143Issues:0Issues:0

NettyRPC

NettyRPC is high performance java rpc server base on Netty,using kryo,hessian,protostuff support message serialization.

Language:JavaLicense:NOASSERTIONStargazers:1270Issues:0Issues:0

NettyRpc

A simple RPC framework based on Netty, ZooKeeper and Spring

Language:JavaStargazers:2362Issues:0Issues:0

motan

A cross-language remote procedure call(RPC) framework for rapid development of high performance distributed services.

Language:JavaLicense:NOASSERTIONStargazers:5882Issues:0Issues:0

alibaba-mom

2015 ali中间件比赛项目,1. 通信模块: 涉及到了消息架构设计,每一个主题分配1-2个队列,这个是可以横向增加,考虑到了一个主题有多个消费者订阅,而且还有过滤条件,为了负载均衡,对应的队列投递消息是根据随机数对队列数取膜完成的。以上是内存队列。 2. 持久化系统:因为考虑到机器坏掉,broker不可用等等原因导致的消息丢失,就需要每次收到的消息必须及时落盘,这个就是比赛优化的重中之重。为此设计了一个小型的文件系统,借鉴阿里的rocketmq. 用一个大的日志文件,一般1G大小每个,和内存队列的结构映射到实体队列。整个日志文件是顺序文件,每条消息固定大小,里面有对应的队列号,消息号,还有长度等等。这个方便恢复消息到实体队列用的。 同步刷盘,异步刷盘,持久化必须可靠,所以一般是同步刷盘到日志文件,日志文件定时异步刷盘到实体队列,实体队列里面是索引,消息的本体在日志文件里面。为了加快大面积的写入速度,用了内存映射:内存映射文件首先将外存上的文件映射到内存中的一块连续区域,被当成一个字节数组进行处理,读写操作直接对内存进行操作,而后再将内存区域重新映射到外存文件,这就节省了中间频繁的对外存进行读写的时间,大大降低了读写时间

Language:JavaStargazers:83Issues:0Issues:0

clover

clover 1、开发server和client端 定时向zk集群发送心跳数据包,利用Java自带的timer程序实现该功能 2、开发整天的monitor程序,用来定时向zk中获取server和client端的心跳数据信息,如果超过指定时间没有收到最新的数据包,那么任务server端或者client端死掉了,此时要删除该server或client端节点,发邮件通知相关人员,记录异常日志到系统日志文件和MongoDB中 3、client端接受创建job请求,将job信息创建到client服务端,并根据job时间规则运行,并将任务信息存储到MongoDB中 4、当client端job运行时候,封装执行任务信息,发送到指定客户端机器,更新client端job执行时间和状态,如不在需要继续运行,那删除job并从MongoDB中删除相关任务信息 5、client端接受删除job请求,client服务端,立即执行删除job并将任务信息从MongoDB中删除 6、client端接受更新job请求,client服务端,立即执行删除job并创建新job,并将任务信息从MongoDB中删除,然后再存储新job信息 7、第一版 使用Netty做消息通讯中间件,存储消息放入Redis中,服务器开启Http请求,客户端 通过 发送Http请求到服务器来处理请求,由于任务太多 redis处理能力不行,放弃该方案 第二版 使用Netty RPC框架,自己开发一个Server端和Client,各种启动指定端口,由于 必须要求Server端和Client必须启动才能进行消息发送,所以感觉非常不灵活,因为放弃该方案 第三版 使用架构组推荐的rocketmq,通过使用发现,很严重问题,消息会重复发送,经常会收到重复的消息,在测试的时候发现,经常发生消息异常和报错,跟架构组刘婷峰沟通说,可能是机器性能不行了,他也不知道具体原因,感觉非常不靠谱,果断放弃 第四版 使用 zeromq,通过在网上查资料,对比各种mq后,发现zeromq是最轻量级,出现消息是最快的,经过测试完全能满足业务,果断使用 8、由于项目中使用zk,自己开发zk使用工具类,定制server端增删改查zk消息以及定制client端增删改查zk消息,功能测试zk,目前打算增加zk watch功能 9、开发server和client端 定时向zk集群发送心跳数据包,利用Java自带的timer程序实现该功能 10、开发整天的monitor程序,用来定时向zk中获取server和client端的心跳数据信息,如果超过指定时间没有收到最新的数据包,那么任务server端或者client端死掉了,此时要删除该server或client端节点,发邮件通知相关人员,记录异常日志到系统日志文件和MongoDB中 11、开发console控制台管理,可以查看任务动态运行状态和次数信息 12、zk管理页面,查看server和client端节点信息,更新和删除节点信息 13、job管理页面,查看job详细信息 14、联系人管理页面,增删改查联系人信息 15、log日志管理页面,根据系统报错记录的日志信息,在页面中可以详细查看

Language:JavaStargazers:195Issues:0Issues:0

Foundation

互联网架构 SOA(Dubbo)+配置中心(ZK)+消息中间件MQ(RocketMq)+高速缓存(Redis)互联网架构

Language:JavaStargazers:65Issues:0Issues:0

uncode-mq

轻量级java消息中间件

Language:JavaStargazers:51Issues:0Issues:0