2021年12月31日
摘要: 所有后端应用几乎都会记录日志,日志系统可以统一抽象出来提供服务。 最近被Log4j2的安全漏洞刷屏了,作为开发人员的我只能咩哈哈几次表示日志处理太难了,只有折腾过的人才知道这里面的艰辛啊。 在实现PowerDotNet日志系统之前,参考调研了Flume、ELK、Scribe和kafka的日志解决方案 阅读全文
posted @ 2021-12-31 15:51 JeffWong 阅读(421) 评论(1) 推荐(5) 编辑
  2021年12月28日
摘要: 很多业务系统少不了需要进行文件管理,比如各种图片、excel、pdf、压缩包等等,为了高度可复用,我们抽象出文件平台,加强对文件进行管理。 PowerDotNet文件平台目前支持阿里云OSS、FastDFS和本地文件服务器三种上传存储类型。 根据我前面文章介绍数据库、缓存、队列等公共服务平台的一贯风 阅读全文
posted @ 2021-12-28 11:11 JeffWong 阅读(319) 评论(0) 推荐(3) 编辑
  2021年12月24日
摘要: 消息队列已经几乎成为大中型高吞吐应用的标配,继续根据我们一贯的节约代码的风格,为了复用的目标,抽象出消息队列平台,进行消息队列管理。 环境准备 1、(必须).Net Framework4.5+ 2、(必须)关系型数据库MySQL或SqlServer或PostgreSQL或MariaDB四选一 3、( 阅读全文
posted @ 2021-12-24 11:21 JeffWong 阅读(322) 评论(0) 推荐(4) 编辑
  2021年12月21日
摘要: 几乎所有后端应用都会或多或少用到缓存,尤其是分布式缓存服务,以及和本地缓存构造的二级缓存。根据我们一贯的节约代码的风格,为了复用的目标,抽象出缓存平台,进行缓存管理。 考虑到很多公司都会自己造或者直接拿来主义使用各种各样的开源缓存轮子,本文介绍的就简单一点,聊下主要思路和实现思想就行,咩哈哈。 环境 阅读全文
posted @ 2021-12-21 21:12 JeffWong 阅读(410) 评论(0) 推荐(3) 编辑
  2021年12月20日
摘要: 上文介绍定时任务调度平台的时候提到,定时任务调度平台的类模式一般用于处理耗时较长的任务。但是根据经验,有些耗时较长的任务,可以通过简化业务逻辑、分页、批量多次处理,改造为耗时较小的适合使用RESTful接口模式的定时任务。有一类数据同步结转非常耗时的任务,耗时多少完全看数据量,这类数据处理任务的解决 阅读全文
posted @ 2021-12-20 11:02 JeffWong 阅读(472) 评论(0) 推荐(1) 编辑
  2021年12月10日
摘要: 定时任务是后端系统开发中少不了的一个基本必备技能。 传统的实现定时任务的方式有很多种,比如直接使用操作系统的Timer和TaskSchedule,或者基于Quartz、HangFire、xxl-job、es-job等优秀开源任务调度框架。 PowerDotNet在借鉴现有任务调度框架Quartz的基 阅读全文
posted @ 2021-12-10 09:40 JeffWong 阅读(516) 评论(1) 推荐(4) 编辑
  2021年12月2日
摘要: ETCD目前在PowerDotNet已经被用于注册中心和配置管理(常见的配置中心在PowerDotNet中仅仅是一个小小的模块而已)中,作为基础设施的重要组成部分,ETCD的重要性不言而喻。 本文简单总结介绍下个人开发使用和管理ETCD的一些经验。 ETCD诞生于CoreOS公司,它最初是用于解决集 阅读全文
posted @ 2021-12-02 22:03 JeffWong 阅读(377) 评论(0) 推荐(1) 编辑
  2021年11月21日
摘要: 系统和系统之间,少不了数据的互联互通。随着微服务的流行,一个系统内的不同应用进行互联互通也是常态。 PowerDotNet的服务治理平台发源于早期的个人项目Power.Apix。这个项目借鉴了工作过的公司的服务治理方案,站在巨人的肩膀上,一步一步从无到有模仿设计和实现。 一开始,Power.Apix 阅读全文
posted @ 2021-11-21 23:33 JeffWong 阅读(530) 评论(4) 推荐(2) 编辑
  2021年11月16日
摘要: 为了复用和解耦,快速开发更多的系统和应用,我们对自己经常说的“系统”和“应用”进行更高级的提取和抽象。 十多年前入行,辗转至今,写过很多很多应用,个人喜欢分门别类整理知识,也看到有些公司这样管理应用(照猫画虎还是挺容易的),所以有个趁手的系统应用管理平台就是顺理成章的事情。现在PowerDotNet 阅读全文
posted @ 2021-11-16 21:21 JeffWong 阅读(497) 评论(0) 推荐(2) 编辑
  2021年10月12日
摘要: 为了DB复用和简化管理,我们对常见应用依赖的DB模块进行更高级的提取和抽象。 虽然一些ORM可以简化DB开发,但是我们还是需要进行改进和优化,否则应用越多,后期管理运维越混乱。 根据常见开发需要,数据库连接串、数据库元数据管理基本上是合格的开发人员必须要用到的功能。 一、数据库连接 数据库连接串管理 阅读全文
posted @ 2021-10-12 12:55 JeffWong 阅读(1090) 评论(8) 推荐(6) 编辑