首页 > 其他分享 >系统技术规划的几点概要思路

系统技术规划的几点概要思路

时间:2024-03-19 14:14:56浏览次数:32  
标签:需要 概要 系统 业务 技术 问题 思路 几点 规划

每年年底或年初都会有各种总结规划,业务部门有业务的规划,研发部门有研发的技术规划,下面分享一下对系统技术规划的几点思路。

研发技术规划重点对所负责系统的技术架构升级、技术债问题以及运维问题进行梳理并根据梳理的问题制定匹配的方案,据此方案提前进行技术储备和资源预留。

 

业务数据分析

我们在做系统技术规划时,首先要做的不是去规划技术,而是分析一下业务数据,了解系统里每种业务类型的相关数据量以及占比,结合和产品经理的沟通或者和业务部门的调研情况,对未来业务发展做一个预判,哪些业务会出现大的增长,哪些业务可能会逐渐收缩,有了这些数据的认知,后面做技术规划就有参考和侧重点,提前进行相关技术储备,因为技术规划的最终目的是服务好业务,为业务增长保驾护航。有的发展不好的业务,即便系统有问题,考虑到投入产出比,只要不出现大的问题,没有影响到业务使用,暂时不进行较大范围的技术调整。

 

关停并转

随着业务的发展和系统的升级,有的系统业务已经不使用了,需要关闭,有的业务还在使用,但是用户量少,没有必要单独作为一个系统来维护,可以考虑和别的系统进行整合。

这里有两个比较棘手的问题,一个就是外部系统的交互问题,如果有交互,需要推动外部研发部门同步进行改造下线或者转移,如果交互系统比较多,协调沟通的成本会很高,需要提前周知并逐个进行排期改造。

另外一个棘手的问题就是数据库的迁移,这个迁移分数据库表和数据的迁移,数据库表迁移还好,挑战在于数据的迁移,因为如果数据需要使用,而且线上系统还在运行,为了能保证数据迁移后的正确性,并且不影响业务使用,大概率需要开发数据迁移同步工具。

 

技术架构升级

升级技术架构需要非常慎重,有两个思路,一个是引入新技术来升级,升级这事取决于两个条件,一是老架构无法通过打补丁的方式来满足业务的快速增长了(业务数据量增长和并发流量增长),二是通过调研有更好更成熟的技术可以很替换这个老的技术。如果这两个条件都满足,那么就可以规划升级了。还有个思路就是不引入新技术,而是引入新的设计模式来升级重构老代码,将老代码通过划分边界的方式分包、分层、分类进行解耦,提升架构的可维护性和可扩展性。

 

性能问题

性能问题是技术规划中非常重要的一块,性能问题分两类,一类是显性的,比如系统里面操作一个查询功能,要等待一段时间才出来结果,非常影响用户的使用体验,迫切需要优化改善;另一类是隐形的,比如后台任务处理,由于数据量大的原因或者多表关联存在一些不易被发现的慢SQL查询。这些性能问题非常消耗容器资源,很容易引发服务器宕机。所以需要非常重视性能问题的优化,这关系到整个系统的稳定性。

 

运维问题

系统在日常运行过程中,难免出现用户操作问题、外部系统问题以及内部系统漏洞问题,这些问题一方面影响业务使用,另一方面研发需要花费大量的时间去修复数据问题,耗时耗力,所以为了提升日常运维效率,需要揪出那些严重影响效能的问题,有的问题可以通过逻辑优化来修复,有的很难完全杜绝,需要额外开发运维问题处理工具,当有问题来的时候可以快速解决处理,既不影响业务使用,也快速解决了问题。

 

效能提升

降本增效近几年甚至未来很长时间都是研发的一项非常重要的工作,研发需要探索各种新的模式来提升效能,需求开发方面,比如低代码模式,通过配置化的方式实现需求的快速交付,今年非常火爆的ChatGPT,通对话模式实现代码的编写、纠错等功能,这些都是可以探索的方向,借助这些工具提升研发效能。

 

制定方案

以上这些方式只是从不同的角度和不同的思路来进行规划,具体深入到问题本身时,可以对问题进行归类,归类后会发现不同的方式识别到的问题可能是同一个问题,只不过表象不同而已。比如一个运维问题可能也有性能方面的问题,也有可能是技术架构的问题,甚至也可能需要关停并转。

问题确定下来后,接下来就需要根据问题来制定解决方案。在制定方案的过程中,需要做一些技术调研,也可以组织团队人员头脑风暴共同讨论,集思广益,制定匹配的方案,方案的制定是一个从粗到细、逐步完善的过程,最终输出一个方案的概要设计,有了这个设计作为基础,后面在推进过程中更容易落地和实现。

标签:需要,概要,系统,业务,技术,问题,思路,几点,规划
From: https://www.cnblogs.com/Jcloud/p/18082618

相关文章

  • UI自动化关键字驱动的简单设计思路
    步骤一:定义关键字首先,我们定义一些与登录功能相关的关键字,如:打开页面:用于打开指定的Web页面。输入文本:用于在输入框中输入文本。点击按钮:用于模拟点击按钮的动作。验证文本:用于验证页面上是否显示指定的文本。步骤二:设计测试用例接下来,我们设计一个登录功能的测试用例。这......
  • Hive SQL必刷练习题:向用户推荐朋友收藏的商品(两种思路)
    问题需求:需要请向所有用户推荐其朋友收藏但是用户自己未收藏的商品,请从好友关系表(friendship_info)和收藏表(favor_info)中查询出应向哪位用户推荐哪些商品。期望结果如下:1)部分结果展示user_id(用户id)sku_id(应向该用户推荐的商品id)101210141017101910181011110112)相关表结构......
  • 端口渗透思路总结
    文件共享服务端口端口号端口说明使用说明21、22、69FTP/TFTP文件传输协议允许匿名的上传、下载、爆破和嗅探操作2049NTS服务爆破、未授权访问、远程代码执行139LDAP目录访问协议注入、允许匿名访问、弱口令远程连接服务端口端口号端口说明使用......
  • Java 运行时 Debug 思路
    JStack工具top使用top命令获取占用内存/CPU最高进程的pid输入大写的M按照内存排序,大写的P按照CPU排序top-Hppid使用top-Hppid可以查看该进程下,各个线程的cpu使用情况jstackpid通过top命令定位到cpu占用率较高的线程之后,接着使用jstackpid命令来查看当前j......
  • Python 递归函数实现二分法,带思路解释
            二分法可以大大提升对有序数列的查找,传统的迭代查找会挨个比较数列中的值,如果数列较为庞大会影响查询效率。二分法每次取数列的中间数与待查找数字比较大小,以升序排列为例子 首先要考虑数列长度的奇偶性。        奇数取中间位置的数字,如果比待查找......
  • 牛客网BC-30 时间转化(思路)
    题目如下我们可以简单分析一下第一步,我们需要输入秒数第二步,进行下简单的数学分析(如何转化为时分秒)第三步,输出时分秒---------------------------------------------------------------------------------------------------------------------------------    ......
  • 《优化接口设计的思路》系列:第九篇—用好缓存,让你的接口速度飞起来
    一、前言大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。作为一名从业已达六年的老码农,我的工作主要是开发后端Java业务系统,包括各种管理后台和小程序等。在这些项目中,我设计过单/多......
  • CF933-Div3 大致思路+题解
    A-RudolfandtheTicket纯水题暴力枚举直接过$code$#include<bits/stdc++.h>#definefo(x,y,z)for(int(x)=(y);(x)<=(z);(x)++)#definefu(x,y,z)for(int(x)=(y);(x)>=(z);(x)--)inlineintqr(){ charch=getchar();intx=0,f=1; for(;ch<'0......
  • 【华为OD】C卷真题 100分:Wonderland游乐园 C语言代码实现[思路+代码]
      C++、java、python代码:【华为OD】C卷真题100分:Wonderland游乐园C/C++代码实现[思路+代码]-CSDN博客【华为OD】C卷真题100分:Wonderland游乐园Java代码实现[思路+代码]-CSDN博客【华为OD】C卷真题100分:Wonderland游乐园python代码实现[思路+代码]-CSDN博客  题......
  • ubuntu20.04 自动封禁恶意ip的代码与设计思路
    设计思路最近隐隐感觉服务器正在被攻击,查看下登陆失败记录,果然有几页失败记录,于是查了一晚上资料,写了份实操如下:防止服务器被暴力破解,给服务器添加脚本:每小时检查是否有登录失败的ip,如果有就封禁该ip代码首先通过以下命令,查看登陆失败超过4次的ip:sudolastb|awk'{prin......