miaozhihao001 Goto Github PK
Type: User
Type: User
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日志管理页面,根据系统报错记录的日志信息,在页面中可以详细查看
:hotsprings: 为监控而生的数据库连接池!
基于zookeeper、rpc的分布式调度系统
Dubbo 框架项目Demo
Dubbox now means Dubbo eXtensions, and it adds features like RESTful remoting, Kyro/FST serialization, etc to the Dubbo service framework.
Elastic-Job is a distributed scheduled job framework, based on Quartz and Zookeeper.
Elasticsearch权威指南中文版
缓存架构学习demo
Mirror of Apache RocketMQ
Mirror of Apache Kafka
轻量级分布式任务调度框架
自己的博客
A remote procedure call(RPC) framework for rapid development of high performance distributed services.
mybatis源码中文注释
中文注释并附带图解架构
Mybatis通用分页插件
Spring Boot集成MyBatis的基础项目
mybatis的学习及源码分析
Netty project - an event-driven asynchronous network application framework
Netty learning.
一个高可用的,专门针对定时任务的分布式任务调度框架
Code for Quartz Scheduler
Quartz的监控和管理工具
定时任务框架quartz的学习
:rocket: Alibaba's MQ, also aliyun ONS.
:rocket: Docs for Alibaba's MQ
阿里的RocketMQ源码学习
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.