I made a very big "wheels", is actually not a "circle" of!

  I made this "wheel" refers to a set of code development with low operation and maintenance of the platform as a whole, why it is not a "circle", as it is a little different, and even can be said to be some alternative. As for why create this "wheel", as well as alternative somewhere listen to me slowly come.

A painful encoding years

  I am a 70 yards after the agricultural, worked on numerous systems, Invoicing small to large electricity providers, networking and even provincial platform. Each time the project began to go through several steps from technology selection, architecture design, development, testing and final production environment deployment operation and maintenance. Fortunately, just a single small project architecture can handle large projects, especially large amount of data is not designed carefully and consider performance and scalability, the system will be able to casually play dead. Day after day, year after year, coding, have to worry about system crash from time to time really makes me physically and mentally exhausted.

Second, stop thinking

  why? Why do farmers need to code so tired? Why no silver bullet, even if it is similar stuff? In the end what I need?

UI

  • I need to be able to fast from scratch to develop a set of system tools, and rapid deployment.

Simple is beautiful

  • What I need is a simple framework for small and medium-scale and relies on technology as possible.

The only constant is change

  • I need to be able at any time to adapt to changes in demand and can scale on demand distributed architecture.

Everything under control

  • I need to be able to easily master the system status, and can identify problems early and timely warning.

Third, hard to find

  经历过痛苦与思考,才知道自己想要的是什么,因而我开始了漫长的寻找与学习过程。先是了解各类开发语言(包括可能您都没有听过的Vala),熟悉其优势、弱势及适用场景。然后学习各种类库及框架,只要觉得能加速开发过程便会研究一番并尝试应用于项目中。最后开始接触各类零代码低代码开发平台,包括国外的OutSystems,国内的起点等。但这些开发平台有些授权费用高,有些有各种各样的限制只能适用于特定场景,且大都是单体架构无法扩展,性能一般般对硬件的要求又高。总之没有我认为完美的技术或组合是我所需要的,难道真的应了“没有银弹”,只能继续疲惫下去。可我偏偏是个比较偏执的人,没有咱就来造一个,哪怕是只提高10%的效率减少10%的成本那就有意义。

四、撸起袖子直接干

  一开始我只是想参照一些快速开发平台实现类似的功能,并且遵循“物得其所”的原则支持不同的存储技术(Sql, NoSql, 对象存储)。在此基础上我实现了一个版本(代号AppBox),但在实现过程中为了适配各类存储技术及相应的api我烦不胜烦,另外这么多技术叠加在一起对整个架构的部署与运维造成了不小的麻烦,总是觉得不完美太Low。

  既然选择了造轮子,何不造个大一点的。所以我又开始动起了存储的念头,在学习了NewSql与NoSql技术后,我决定基于Raft与RocksDB直接实现分布式的存储集成在框架内,这样的话关系型数据、半结构化数据、非结构化数据的存储一并搞定。简单!完美!

五、未来在招手

  “路漫漫其修远兮,吾将上下而求索”,目前原型总算是有点模样了,虽打开代码满屏的TODO,但我抱着愚公移山的态度,相信只要每天码一点,总有一天码出一个近似完美的“巨轮”,也借此寻求志同道合者来共同完成这个“轮子”,共同实现Enjoy coding! Enjoy life!

Guess you like

Origin www.cnblogs.com/BaiCai/p/11248064.html