Fork me on GitHub
摘要:从何说起 2017年初的时候,由于当时项目需要做了一个乞丐版定时调度系统,那时候只在单机上实现了核心的调度功能。做这个玩意之前也调研了社区中开源的解决方案,找了几个实地部署试跑了一下,其实都很不错。但那时候我们有个问题就是应用都是基于Azure WebApp去部署,不太想为了这个东西搞一台虚拟机来跑 阅读全文
posted @ 2020-01-09 16:30 balahoho 阅读(5930) 评论(43) 推荐(71) 编辑
摘要:从何说起 前些天和朋友讨论一个问题,他们的应用有几十万会员然后对应有积分,现在想做积分排名的需求,问有没有什么好方案。这个问题也算常见,很多地方都能看到,常规做法一般是数据定时跑批把计算结果到中间表然后直接查表就行,或者只显示个TOP N的排行榜,名次高的计算真实名次,名次比较低的直接显示在xxx名 阅读全文
posted @ 2020-01-06 08:50 balahoho 阅读(1655) 评论(9) 推荐(28) 编辑
摘要:从何说起 这来自于我把项目迁移到Asp.Net Core的过程中碰到一个问题。在一个web程序中同时包含了MVC和WebAPI,现在需要给WebAPI部分单独添加一个接口验证过滤器 ,常规做法一般是写好过滤器后给需要的控制器挂上这个标签,高级点的做法是注册一个全局过滤器,这样可以避免每次手动添加同时 阅读全文
posted @ 2020-01-02 20:00 balahoho 阅读(1447) 评论(3) 推荐(14) 编辑
摘要:故事背景 最近在把自己的一个老项目从Framework迁移到.Net Core 3.0,数据访问这块选择的是EFCore+Mysql。使用EF的话不可避免要和DbContext打交道,在Core中的常规用法一般是:创建一个XXXContext类继承自DbContext,实现一个拥有DbContext 阅读全文
posted @ 2019-11-18 20:24 balahoho 阅读(1678) 评论(8) 推荐(4) 编辑
摘要:业务背景 在稍微复杂点业务系统中,不可避免会碰到做定时任务的需求,比如淘宝的交易超时自动关闭订单、超时自动确认收货等等。对于一些定时作业比较多的系统,通常都会搭建专门的调度平台来管理,通过创建定时器来周期性执行任务。如刚才所说的场景,我们可以给订单创建一个专门的任务来处理交易状态,每秒轮询一次订单表 阅读全文
posted @ 2017-10-29 16:00 balahoho 阅读(8634) 评论(28) 推荐(32) 编辑
摘要:本文记录了我在实际工作中关于数据库操作上一些小经验,也是新手入门golang时我认为一定会碰到问题,没有什么高大上的东西,所以希望能抛砖引玉,也算是对这个问题的一次总结。 其实我也是一个新手,机缘巧合几个月前开始做golang开发,以前一直是以.NET技术栈为主,文章如有错误不吝指正。 访问数据库 阅读全文
posted @ 2021-01-29 16:15 balahoho 阅读(321) 评论(6) 推荐(0) 编辑
摘要:ScheduleMaster上一次比较大的更新还是在6月份,转眼已经快过去4个月了,这段时间比较忙,中间只更新过一次修复了几个小bug。要总结这次更新的话,必须要用“千呼万唤始出来”了,因为这次不仅经历的时间比较久,还带来了大家期待已久的功能-多数据库支持,再就是对.NET Framework的支持 阅读全文
posted @ 2020-10-19 22:46 balahoho 阅读(3217) 评论(24) 推荐(18) 编辑
摘要:ScheduleMaster是一个开源的分布式任务调度系统,它基于.NET Core 3.1平台构建,支持跨平台多节点部署运行。 项目主页:https://github.com/hey-hoho/ScheduleMasterCore 本篇从源码角度分析一下节点控制的核心流程。 生命周期事件 生命周期 阅读全文
posted @ 2020-10-19 21:53 balahoho 阅读(304) 评论(0) 推荐(0) 编辑
摘要:ScheduleMaster在上个月底更新到了2.0版本,在功能和代码以及文档上都往前跨了很大一步,详细信息可以参考这篇文章:https://www.cnblogs.com/hohoa/p/12772945.html 对ScheduleMaster还不熟悉的朋友可以先移步作者的系列文章:https: 阅读全文
posted @ 2020-05-18 21:16 balahoho 阅读(581) 评论(2) 推荐(5) 编辑
摘要:从1月份首次公开介绍这个项目到现在也快4个月了,期间做了一些修修补补整体没什么大的改动。2.0算是发布之后第一个大的版本更新,带来了许多新功能新特性,也修复了一些已知的bug,在此感谢在博客、Issue和QQ群中提出各种意见的朋友,以及指导过我的前辈大佬们。 在我看来,这个项目没有使用任何高深的技术 阅读全文
posted @ 2020-04-26 21:56 balahoho 阅读(1311) 评论(3) 推荐(8) 编辑
摘要:在上一篇 "《走进C 并发队列ConcurrentQueue的内部世界》" 中解析了Framework下的 实现原理,经过抛砖引玉,得到了一众大佬的指点,找到了.NET Core版本下的 源码,位于以下地址: https://github.com/dotnet/runtime/blob/master 阅读全文
posted @ 2020-04-19 20:27 balahoho 阅读(3350) 评论(2) 推荐(28) 编辑
摘要:决定从这篇文章开始,开一个读源码系列,不限制平台语言或工具,任何自己感兴趣的都会写。前几天碰到一个小问题又读了一遍ConcurrentQueue的源码,那就拿C 中比较常用的并发队列ConcurrentQueue作为开篇来聊一聊它的实现原理。 话不多说,直奔主题。 要提前说明下的是,本文解析的源码是 阅读全文
posted @ 2020-04-07 09:02 balahoho 阅读(4934) 评论(12) 推荐(47) 编辑
摘要:概述 ScheduleMaster 是一个开源的分布式任务调度系统,它基于Asp.Net Core平台构建,支持跨平台多节点部署运行。 它的项目主页在这里: "https://github.com/hey hoho/ScheduleMasterCore" 关于它的简单介绍可以看这里: "https: 阅读全文
posted @ 2020-01-15 17:06 balahoho 阅读(3565) 评论(7) 推荐(9) 编辑
摘要:从何说起 2017年初的时候,由于当时项目需要做了一个乞丐版定时调度系统,那时候只在单机上实现了核心的调度功能。做这个玩意之前也调研了社区中开源的解决方案,找了几个实地部署试跑了一下,其实都很不错。但那时候我们有个问题就是应用都是基于Azure WebApp去部署,不太想为了这个东西搞一台虚拟机来跑 阅读全文
posted @ 2020-01-09 16:30 balahoho 阅读(5930) 评论(43) 推荐(71) 编辑
摘要:从何说起 前些天和朋友讨论一个问题,他们的应用有几十万会员然后对应有积分,现在想做积分排名的需求,问有没有什么好方案。这个问题也算常见,很多地方都能看到,常规做法一般是数据定时跑批把计算结果到中间表然后直接查表就行,或者只显示个TOP N的排行榜,名次高的计算真实名次,名次比较低的直接显示在xxx名 阅读全文
posted @ 2020-01-06 08:50 balahoho 阅读(1655) 评论(9) 推荐(28) 编辑
摘要:从何说起 这来自于我把项目迁移到Asp.Net Core的过程中碰到一个问题。在一个web程序中同时包含了MVC和WebAPI,现在需要给WebAPI部分单独添加一个接口验证过滤器 ,常规做法一般是写好过滤器后给需要的控制器挂上这个标签,高级点的做法是注册一个全局过滤器,这样可以避免每次手动添加同时 阅读全文
posted @ 2020-01-02 20:00 balahoho 阅读(1447) 评论(3) 推荐(14) 编辑
摘要:故事背景 最近在把自己的一个老项目从Framework迁移到.Net Core 3.0,数据访问这块选择的是EFCore+Mysql。使用EF的话不可避免要和DbContext打交道,在Core中的常规用法一般是:创建一个XXXContext类继承自DbContext,实现一个拥有DbContext 阅读全文
posted @ 2019-11-18 20:24 balahoho 阅读(1678) 评论(8) 推荐(4) 编辑
摘要:作为一名以Windows平台为主的开发者,在接触和使用Linux系统的过程中总会遇到一系列的问题。每当这时候,我相信大部分人是和我一样的处理办法,就是网上各种搜索尝试直到问题解决为止,而有些问题,前后不止会遇到一次 ,每次遇到每次搜索。因为在Linux上基本都是使用命令行操作,各种命令、工具、配置、 阅读全文
posted @ 2019-08-25 22:56 balahoho 阅读(648) 评论(0) 推荐(0) 编辑
摘要:前段时间由于项目上的需求,要在.Net平台下实现把HTML内容生成图片或PDF文件的功能,特意在网上研究了几种方案,这里记录一下以备日后再次使用。当时想着找一种开发部署都比较清爽并且运行稳定的方案,但实际上两者同时满足基本不可能,只能做一个自己觉得合适的取舍,下面从两个维度(清爽指数和功能指数)逐一 阅读全文
posted @ 2019-06-25 23:11 balahoho 阅读(2441) 评论(10) 推荐(11) 编辑
摘要:最近有一个云服务器和数据库的迁移任务,踩坑爬坑无数次,觉得必须要记录一下。大家瓜子花生准备好,听我慢慢讲故事#手动笑哭#。 故事背景 公司是做电商业务的,在天猫有几家旗舰店数据量也很大。阿里有一个称为聚石塔的平台,专门给这些ISV提供各种云资源,强制绑定了一些业务,原本我们在聚石塔中有一台ECS和一 阅读全文
posted @ 2019-04-21 23:38 balahoho 阅读(1242) 评论(6) 推荐(5) 编辑
摘要:业务背景 在稍微复杂点业务系统中,不可避免会碰到做定时任务的需求,比如淘宝的交易超时自动关闭订单、超时自动确认收货等等。对于一些定时作业比较多的系统,通常都会搭建专门的调度平台来管理,通过创建定时器来周期性执行任务。如刚才所说的场景,我们可以给订单创建一个专门的任务来处理交易状态,每秒轮询一次订单表 阅读全文
posted @ 2017-10-29 16:00 balahoho 阅读(8634) 评论(28) 推荐(32) 编辑
摘要:写在前面 最近在读一本来自淘宝技术团队大牛的书,名字叫《大型网站系统与Java中间件实践》。开篇的章节详细地介绍了一个网站架构由小变大不断演进的过程,其中从单机架构升级到集群架构的过程中着重介绍了关于session同步问题, 这也是很多人在聊到分布式时绕不过去的话题。下面就整理下书中的内容,也算是做 阅读全文
posted @ 2017-08-06 10:10 balahoho 阅读(1299) 评论(2) 推荐(0) 编辑
摘要:背后的故事 随着项目需求的逐步增加,后端开发框架在我手上也慢慢重构为组件开发模式,整体结构类似于NopCommence。在这种结构中,每个组件所在的类库项目其实是生成到网站项目里指定的一个目录的,然后随之而来的就有一个不痛不痒的问题一直挥之不去。那就是每次在组件内修改代码后都要清理解决方案,然后重新 阅读全文
posted @ 2017-03-25 20:52 balahoho 阅读(3927) 评论(4) 推荐(8) 编辑
摘要:发现问题 需求很简单,大致就是要批量往数据库写数据,于是打算用Parallel并行的方式写入,希望能利用计算机多核特性加快程序执行速度。想的很美好,于是快速撸了类似下面的一串代码: 可意外的是竟然无情的报错了: 奇葩的是当我再次刷新的时候异常又不一样了,于是连着刷新好多次,总结出现过的异常有下面这些 阅读全文
posted @ 2016-11-13 23:36 balahoho 阅读(2929) 评论(35) 推荐(10) 编辑
摘要:写在前面 前两天看到张善友老师的一篇文章《先定个小目标, 使用C# 开发的千万级应用》,里面给出了一张腾讯OA基础服务中redis运行情况的一张监控图,然后想到自己的项目中前不久也上了redis缓存,所以也想找个监控工具。搜索一番,决定使用RedisLive来做监控。 和RedisLive有关的信息 阅读全文
posted @ 2016-09-12 11:31 balahoho 阅读(4240) 评论(2) 推荐(3) 编辑
返回顶部