摘要: 本来想尽量做完美一点再开放,但个人能力实在有限,无法专注于实现内置分布式数据库,所以想借助社区的力量来验证与推进。 一、框架设计目标: 简单:能有更多的时间专注于业务领域; 灵活:不能有任何限制,能够灵活扩展; 快速:能够尽可能快的开发应用系统; 二、框架整体结构: 左图为整体结构,右图为每个应用节 阅读全文
posted @ 2020-03-06 16:40 白菜园 阅读(4002) 评论(4) 推荐(9) 编辑
摘要: 本篇通过完整示例介绍如何实现一对多关系表单的相应服务及视图。 一、准备数据结构 示例所采用的数据结构为“物资需求”一对多“物资清单”,通过IDE的实体设计器如下所示: 1. 物资(DonateItem) 主键为Id(Guid) 2. 物资需求(Requirement) 主键为Id(Guid) 3. 阅读全文
posted @ 2020-02-18 18:20 白菜园 阅读(693) 评论(0) 推荐(1) 编辑
摘要: 上篇介绍集成第三方Sql数据库时未实现如导航属性、子查询等功能,经过大半个月的努力作者初步实现了这些功能,基本上能满足80% 90%查询需求,特别复杂的查询可以用原生sql来处理,下面分别示例介绍。 Like/In/NotIn 分页查询 EntityRef属性自动Left Join 适用于实体建模时 阅读全文
posted @ 2019-12-26 11:55 白菜园 阅读(492) 评论(0) 推荐(3) 编辑
摘要:   框架设计之初是不准备支持第三方数据库的,但最近几个朋友都提到需要将旧的基于传统Sql数据库的应用迁移到框架内,主要是考虑到一方面目前框架内置的分布式数据库尚未完善,另一方面是希望能逐步迭代旧应用替换传统数据库。因此作者还是决定支持第三方数据库,下面介绍如何集成第三方数据库,并 阅读全文
posted @ 2019-11-28 16:16 白菜园 阅读(528) 评论(0) 推荐(2) 编辑
摘要:   框架内的服务模型(ServiceModel)用于处理各类业务逻辑(如最简单的CRUD操作),在设计时以类似于伪代码的形式存在,发布时后端会通过Roslyn转换并编译为运行时代码。为了方便开发者作者初步实现了在线调试服务与监测服务调用性能的功能,下面分别介绍。 一、服务在线调试 阅读全文
posted @ 2019-10-24 20:18 白菜园 阅读(551) 评论(0) 推荐(1) 编辑
摘要:   AppBoxFuture的存储引擎依赖Raft一致性协议来保证各个分区副本的一致性,如果不处理Raft日志将不断增长,因此需要特定的机制(定期或每处理一定数量的日志)来回收那些无用的日志数据。通过学习Raft协议内的Log Compaction,并参考TiKV等实现,作者初步 阅读全文
posted @ 2019-09-29 21:13 白菜园 阅读(922) 评论(0) 推荐(0) 编辑
摘要:   随着互联网+、智能制造等大数据应用的发展,传统的企业信息化单体架构必定绕不过以下两个坎: 单机资源瓶劲造成系统响应慢,需要高成本升级硬件来解决; 单机故障造成系统不可用,需要较长的时间来恢复故障。   所以将来的企业信息化基础架构必定是分布式的,AppBo 阅读全文
posted @ 2019-09-06 13:18 白菜园 阅读(1196) 评论(5) 推荐(4) 编辑
摘要:   最近几天在优化存储的编码规则,顺带把之前设计了但未实现的倒排序一并实现了。由于所有数据(元数据、实体、索引等)都映射至RocksDB的Key Value存储,所以必须扩展RocksDB的自定义比较器(Comparator)来实现自定义Key的排序规则。存储层涉及到需要自定义排 阅读全文
posted @ 2019-08-06 11:03 白菜园 阅读(445) 评论(0) 推荐(1) 编辑
摘要:   大家一般都是用Grafana自定义Dashboard来监控Prometheus数据的,作者这次尝试用ECharts来绘制Prometheus数据图表,一方面可以减少依赖,另一方面可以将监控界面灵活的集成进应用系统。至于如何在被监测机器上安装NodeExporter以及如何部署 阅读全文
posted @ 2019-07-30 11:37 白菜园 阅读(5688) 评论(0) 推荐(5) 编辑
摘要:   我造的这个"轮子"指的是集低代码开发与运维为一体的平台,为什么说它不是"圆"的,因为它有些与众不同,甚至可以说是有些另类。至于为什么造这个"轮子",以及另类在什么地方且听我慢慢道来。 一、痛苦的编码岁月   我是一个70后码农,开发过不计其数的系统,小到进 阅读全文
posted @ 2019-07-26 08:18 白菜园 阅读(978) 评论(0) 推荐(2) 编辑