扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
经常写业务软件的开发会吐槽crud没有技术含量,想学新技术,但是学完新技术会发现又进入了crud的循环(学完mq发现只会发送和接收消息,学完redis发现只会读写缓存,学完zookeeper发现只会操作node节点)。这种现象产生的原因是什么的?因为关注点一直是逻辑,而不是存储。而一项技术的底层和原理无非逻辑与存储。
一个业务软件本质由两个部分组成:业务数据+业务逻辑,这有点像是面向过程=数据结构+算法,这道出了软件开发本质。
业务数据层本质就是数据存储,storage,从组成形式来说,分为内存和磁盘,这就划分了数据存储技术,data container,data store,data base,业务数据的价值和重要性决定了存储的技术选型。
这里只是一种简化认识~
业务逻辑层本质就是对数据操作,compute,就是crud,我加一条:mapping(convert),不同层间的映射,不同系统间的映射。分布式的逻辑有map-reduce,fork-join。如果公司对存储层的api封装的足够好,那么就可以专注于业务逻辑了。作为个人不能止步于此,作为公司要专注于业务,产品。
很多分布式技术的应用与选型,大多来自数据层的选型,设计一个分布式系统一个出发点就是存储结构的设计。扩缩性,高可用,高性能的难点也集中在了数据层。因为数据层有状态。逻辑层一般无状态的,但是具体操作可能是状态的。扩缩很简单,只需要增加节点。
其实crud是超越不了的,业务软件开发本质决定了其特性,只能增加对crud的理解。深入crud的实现,可以深入存储层的研究。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流