锋盈数科-知识库 Logo
首页
软件开发
计算机基础
Hello Halo
新手必读
关于本知识库
登录 →
锋盈数科-知识库 Logo
首页 软件开发 计算机基础 Hello Halo 新手必读 关于本知识库
登录
  1. 首页
  2. 默认分类
  3. CURD系统怎样做出技术含量:微内核改造

CURD系统怎样做出技术含量:微内核改造

0
  • 默认分类
  • 发布于 2024-09-23
  • 0 次阅读
黄健
黄健

建「中心」还是「平台」?

10年前在一个公司,公司里经常需要做线上活动。对开发来说,就是通过不同的活动页面进行注册、登录,之后会有一些个性化的小活动:领取小礼物、领取红包或者参加抽奖。

前端和后端疲于天天做各种换汤不换药的注册、登录。开发方式基本是把上次的代码拷贝一份,在此基础上做修改,来支撑新活动。大家就开会一起想解决办法解决重复开发的问题。大龄前端架构师说:「可以做工具自动生成注册、登录代码。」新生代的架构师说:「这个意义不是很大,应该做平台来解决。」10年过去了,现在我再回头想想。觉得当初应该建「中心」来解决。

首先明确一下「平台」和「中心」的区别。中心是个点,平台是个面。一般来讲,平台更大。中心是为了解决复用的问题,一般用在公司内部进行统一开发、统一管理、统一维护。比如业务上有「活动中心」;技术上有「配置中心」。平台可以对内也可以对外,按咱们「编程一生」群友的说法:是SaaS的。比如各种开放平台,还有网联清算等业务平台,各种交易平台。一般需要一些配套:用户注册、登录、权限控制等。

下面截图出于对群友信息的保护,隐藏了昵称和头像。

我们当时面临的问题,是要解决公司内部复用的问题,建立「中心」是合适的。当然,如果系统演进的好,以后把能力开发出去做成「平台」也未可知。但首先要是「中心」。

用「微内核架构」解决问题

我们当时遇到的问题,后端之所以每次都要参与开发是因为当时还是前后端不分离的架构。后端在注册、登录部分的修改主要是跳转的页面不同。现在都是前后端分离的架构了。后端只提供数据,流程之间的串联基本靠前端实现。所以后端只要有真正新功能的时候才需要开发,重复开发并不多。

前端对应每一个需求都是有一定的开发量的。但是对于这种重复工作多的,页面可以通过配置出来,而不用真正意义的开发。甚至可以通过低代码或者零代码的方式拖拖拽拽就把功能实现了。核心就是把原来的功能分成一个个小组件。

这听起来好像当下很多项目就是这么做的。怎样改造成微内核架构呢?

不需要再做什么了。这已经是一个微内核架构的项目了。不管对于前端还是后端,核心服务(内核)是注册、登录和做活动。具体产品和运营那边的奇思妙想,新的活动类型,可以视为插件。需要的时候开发出来插上,如果发现效果不好,要彻底弃用就拔下来。微小的核心服务+可插拔的插件,就是一个标准的微内核架构。

受到的质疑

之前和别人聊的时候,人家质疑时我说:你这样,安装插件的时候,服务需要重新发布,需要重启吗?

我说:需要开发,也需要重新发布上线。

人家说:需要重启就不是一个微内核的架构。

我心里知道他理解的不对,但一时没有想清楚他问题的本质,当时没有做任何的回应。现在想想应该这么来思考:

先看看标准的微内核架构代表:eclipse\Intelij idea这样的IDE(IDE,即Integrated Development Environment,是"集成开发环境"的英文缩写,可以辅助开发程序的应用软件 )工具。如果需要的插件是现在应用市场上没有的,也是需要重新开发的吧?开发出来就要上线吧?上线的方式可能只是打个包放到外部可以访问的平台上。但是IDE要集成插件引入之后也需要重启IDE吧?连微内核架构的经典代表IDE都是需要重启的,所以从是否需要重启来作为是否是微内核架构的标准是有失偏颇的。

微内核的本质是核心逻辑是有限的,可以维持相对稳定。其他功能可以方便的集成和拆除。它是一种思想,符合这种思想的都是微内核架构。面试时或者其他场景,你完全可以大胆的去说。

标签: #知识库 257
相关文章
最全的办公楼智能化解决方案

最全的办公楼智能化解决方案 2024-10-16 08:40

办公楼综合体智能化如何建设?有哪些系统?近几年,办公楼智能化的项目越来越多,不少项目经理都参与其它,同事办公楼综合体也是弱电系统涉及的最多的项目之一,本期我们一起来看下,最全的办公楼项目智能化设计方案。

规范标准查询、下载网站 2024-10-12 16:41

我们在工作中经常需要用到各种各样的规范标准,这里给大家介绍一些免费查询和下载规范的网站,个人亲测可用。 标准查找查新网站 工标网: http://www.csres.com/ 中国国家标准化管理委员会:http://openstd.samr.gov.cn/bzgk/gb/index 全国标准信息公共

【计算机网络】网络层协议解析 2024-10-08 11:24

网络层的两种服务 IPv4 * 分类编址 划分子网 无分类地址 IPv4地址应用 IP数据报的发送和转发过程 * 主机发送IP数据报 路由器转发IP数据报 IPv4数据报首部格式 ICMP网际控制报文协议 虚拟专用网VPN与

FFmpeg教程(超级详细版) 2024-10-08 11:24

一、参考资料 通过ffmpeg把图片转换成视频 FFmpeg命令(一)、使用filter_complex命令拼接视频 FFmpeg 视频处理入门教程给新手的 20 多个 FFmpeg 命令示例 FFmpeg命令行转码

计算机网络:物理层 —— 数据的传输方式 2024-10-08 11:24

文章目录 * 传输方式 * 串行传输 * 串行传输方式 特点 应用 并行传输 * 特点 应用 网卡的串/并转换 同步传输 * 同步时钟频率的误差问题 特点 应用<

授权码机制 V2.1 2024-10-07 10:26

大家好,我是机灵鹤。 根据读者朋友们反馈的问题和建议,对 授权码 V2.0 版本做了一些优化。 优化内容主要解决了以下几个问题: 优化了授权机制中的时间校验逻辑,避免用户通过回调本地时间来绕过授权机制的问题。 封装和简化了授权接口,开发者可以更方便地接入到自己的程序中。

目录

IT 外包服务商

  • 意见投递
  • zyf6619

软件开发应用

主菜单

  • 首页
  • 软件开发
  • 计算机基础
  • Hello Halo
  • 新手必读
  • 关于本知识库
Copyright © 2024 your company All Rights Reserved. Powered by Halo.