-
2020-02-11 17:52:50
个人整理的前端架构图谱,之后会根据这个图谱不断的完善内容。希望这个图谱可以对开发同学的知识脉络有个梳理的作用。
相关图谱文件已上传至Github:https://github.com/sahadev/front-end-architecture,后续将不定期更新。
2020年02月28日已更新。
项目创建
脚手架
-
IDE脚手架
IDE或社区提供的脚手架
-
业务型脚手架
根据业务特点通过Node写的工具,用于降低高频手写操作
通用组件
-
项目分层组件
-
错误数据采集
-
业务代码与运行时框架隔离
- 安全性兼容: setData
- API访问缓冲: setData
-
网络访问封装与管理
- 访问主机运行时变更
-
数据存储封装与管理
-
日志统一收集
-
-
社区推荐组件
https://ice.work/docs/guide/resource/npms
-
UI组件
-
Element UI
-
Echart
-
IView
-
Vant
https://youzan.github.io/vant/?source=vuejsorg#/en-US/
-
极速构建
-
飞冰
极速构建企业级中后台前端应用
https://ice.work/
海量物料优势在于拥有强大的物料:
涵盖:模板、区块、业务组件、基础组件
可以通过拖拽快速组合各种页面。使用React开发,拥有特定的IDE,裁剪自VSCODE,这些组件目前还不能预览
iceworks 内置了 ICE 官方模板帮助您快速创建一个中后台应用,并提供了 SCM 的支持(强大的 Git 集成)以加速发布操作。iceworks 还支持对接应用发布平台
-
后台管理系统
快速预览:https://unpkg.com/@icedesign/pro-scaffold@3.0.15/build/index.html#/dashboard/monitor
当项目庞大,单页面冗长,需要多团队开发时,可以考虑:icestark
-
编码
多人协作
-
编码规范
-
Airbnb JavaScript Style Guide
https://github.com/airbnb/javascript
-
规范检查
配合ESLint执行
- eslint
- tslint
- stylint
- commitlint
-
自动格式化
提交代码仓库时根据规范自动进行调整
按照团队统一的相关格式进行格式化,使提交到仓库的代码风格都是一致的-
husky
https://github.com/typicode/husky#supported-hooks
https://git-scm.com/docs/githooks
-
-
-
分支管理
Git Flow
-
线上分支
该分支的最后一次commit总是目前生产环境所运行的稳定版本
-
开发分支
所有的子分支都是从该分支检出
该分支的状态永远不落后于线上分支 -
功能性开发分支
根据人员与功能所划分的功能版本开发分支
命名方式可以为:
分支类型/日期-姓名-功能
例如:
feature/20200202-Jim-performance-improve -
统一测试分支
有效利用小程序体验版只有一个的缺点
与测试分支相配合的还需要支持一个版本可以随时切换环境
这种特点在并行开发时效果尤为明显
-
脚手架
根据业务特性编写的脚手架
可以通过CLI的方式生成常用的小程序页面,并直接提供固定的页面模板与常用的页面模板,减少重复量,加速开发-
Yeoman
https://yeoman.io/
组件化
- 业务组件
- UI组件
- 基础组件
自动编码工具
-
代码一键生成
较为通用的前端解决方案,例如:HtmlFindClass
- HtmlFindClass
-
业务组件一键生成
与业务有强相关性,需要结合业务特点专门建造此类工具
编译
-
目标环境代码转换(Babel)
-
文件变更监控
-
编译结果缓存
缩短单次编译时间,避免不必要的资源浪费,提升开发效率
-
编译/打包工具
- Webpack
- Rollup
- Gulp
- Grunt
Mock
-
开发数据自动生成
根据接口的数据接口自动生成测试数据
-
Mock.js
http://mockjs.com/
-
随机数生成
-
Chance
https://chancejs.com/
-
-
-
Mock平台
-
RAP2
http://rap2.taobao.org/
https://github.com/thx/rap2-delos -
easy-mock
-
Api-mocker
-
eoLinker
-
fastmock
https://www.fastmock.site/#/
-
Mock.js
http://mockjs.com/
-
调试
- 控制台
- 网络
- 存储
- DOM
IDE
- VS Code
- WebStorm
语言
-
Html
-
CSS
-
SASS/SCSS
-
LESS
-
POSTCSS
https://postcss.org/
-
-
JS/TS
包管理
-
打包工具
-
NPM
-
YARN
-
CNPM
淘宝出品的npm镜像,很快
-
运行时框架
- Vue
- React
版本发布
代码压缩
-
TreeShaking
Tree-shaking, 也被称为 “live code inclusion,” 它是清除实际上并没有在给定项目中使用的代码的过程,但是它可以更加高效。词汇来源查看https://medium.com/@Rich_Harris/tree-shaking-versus-dead-code-elimination-d3765df85c80#.jnypozs9n
-
uglify
-
csso
混淆
分包
最小可执行单元
- 首屏公共库
- 必要业务代码
发布
-
平滑发布
-
增量发布
-
部署工具/系统
-
Walle
https://walle-web.io/
-
Jenkins
https://jenkins.io/
-
国际化
- 语言管理
- 内容管理
运行时环境分发
根据服务的用户环境预先生成各种运行时版本,依据环境获取对应的版本代码,例如通过Pollfill
Html托管服务
极大缩短部署步骤与时间
-
surge
http://surge.sh/
参考本架构部署示例:http://wooden-process.surge.sh/
-
github pages
https://pages.github.com/
-
netlify
https://www.netlify.com/
几部就可以完成代码部署
支持与Github,Gitlab强关联,可以读取仓库的分支,自定义配置编译脚本,非常方便,支持环境变量配置
云服务器
-
DigitalOcean
https://www.digitalocean.com/
测试回归
自动化测试
-
主链路测试(针对高频使用/功能复杂的模块)
-
接口自动化测试
-
可以对各类环境进行配置性测试
-
接口串行测试
-
接口性能测试
- 并发测试
- 单接口访问时长
-
-
⾃动化测试沙盒
通过模拟微信⼩程序运⾏环境和基础库 API,将⼩程序的运⾏和测试脱离微信环境,从⽽⽅便地对其进⾏⾃动化测试。最后通过拦截setData 接⼝及判断当前⻚⾯路由,对⼩程序运⾏结果进⾏校验
-
单元测试框架
-
Chai Assertion Library
用于JS测试的测试框架:https://www.chaijs.com/
-
手工测试
代码质量测试
lint类工具
版本控制
全量发布
包含版本回退能力
灰度发布
https://mp.weixin.qq.com/s/IT65m3VwlAhXusipB6wa2g
- 按百分比发布
- 按地域或特定人群发布
版本定义
- 代码版本管理
- 线上运行版本
运行时版本识别
- 肉眼随时可识别
质量监控及告警
https://mp.weixin.qq.com/s/HtxkwEVm8f1Ur1Il6JmEYQ
执行日志控制台
运行时性能数据采集与分析
业务日志采集
网络请求采集
- 接口响应率
- 接口响应速度
- 请求响应参数
脚本错误采集
分函数级与业务级
白屏化日志
业务异常采集
- 页面访问稳定率
- 页面测速
- 健康检查/存活监测
诊断能力
- 链路分析
- 错误聚类
- 函数流量回放
社区解决方案
-
CAT
https://github.com/dianping/cat/
性能
监控
-
运行时性能数据采集
-
代码编译时长数据采集
-
小程序包体积数据采集
- 分包情况下子包体积数据
-
接口响应时长数据采集
-
页面打开速度数据采集
应用实时监控服务 ARMS
https://www.aliyun.com/product/arms
Faas网关
流量感知、HSF/HTTP触发器、限流
语言执行加速
- WebAssembly
性能监控与测试
-
Sitespeed.io
https://www.sitespeed.io/
-
性能测试
-
Browsertime
https://www.sitespeed.io/documentation/browsertime/introduction/
What is Browsertime good for?
It is usually used for two different things:
You run it as a standalone tool to collect performance timing metrics of your web site.
You integrate it in your tool as a JavaScript runner that collects whatever JavaScript metrics/information you want.
-
-
性能数据比较
-
网站监控
-
优化手段
-
首屏渲染时长
- 骨架屏
- 按需加载
- 图片资源压缩
-
首屏响应时长
-
资源缓存
https://www.cnblogs.com/laixiangran/p/8971119.html
- expires
- cache-control
- Etag
- Last-Modified
-
资源压缩
单文件最小可运行单元,缩减空格与分号等
-
文本压缩
- Gzip
-
图像压缩
- 矢量图
- 光栅化
- 有损/无损压缩
- Tinypng
-
-
资源合并
多类资源合并为单个的Html/Css/Js,降低http链接次数与时间
-
资源裁剪
缩减为首屏所需最小代码量
-
CDN静态资源加速
-
HTTP2
-
权重
-
多路复用
减少TCP握手时间
-
HTTPS安全加密
-
无需等待
必要情况下,可以直接发送数据包,不需要等待缓存队列满的条件
-
服务器推送
-
头部压缩
https://link.jianshu.com/?t=https%3A%2F%2Fimququ.com%2Fpost%2Fheader-compression-in-http2.html
-
-
缓存及版本管理
-
最近访问节点
-
负载均衡
-
预热
-
容灾
-
-
SSR
Server Side Render 服务侧渲染,有效降低网络传输时间,并且可以对渲染结果实施缓存策略,加速客户端呈现时间
-
Rax SSR
https://rax.js.org/ssr
-
-
数据统计
手工埋点
无痕埋点
业务数据指标
- PV/UV
- 漏斗数据
- 渠道转化
用户行为数据
-
流量分析
查看全站流量状况,与历史进行比较,是涨是跌,哪个时段出了问题?出了问题需要排查。
关注实时流量,如直播网站,趋势分析无法满足需要看当前在线。
-
来源分析
来源分哪几类,分别带来多少流量?
搜索引擎、外链的引入流量具体状况如何?
-
受访分析
网站哪些内容受欢迎??
页面设计是否合理?
-
访客分析
访客都是谁?
访客的浏览行为是怎样的?
-
转化路径分析
路径分析:根据您设置的特定路线,监测某一流程的完成转化情况,算出每步的转换率和流失率数据,如注册流程,购买流程等。
社区解决方案
- 友盟
- 阿里云
DevOps
Auto DevOps provides pre-defined CI/CD configuration which allows you to automatically detect, build, test,
deploy, and monitor your applications.CI/CD
持续集成(Continuous Integration)
持续交付(Continuous Delivery)
持续部署(Continuous Deployment)https://about.gitlab.com/stages-devops-lifecycle/continuous-integration/
https://mp.weixin.qq.com/s/k16SjTN7__iRB_7q78hldg
-
Gitlab
-
自动构建
-
自动测试
代码质量分析:
https://docs.gitlab.com/ee/user/project/merge_requests/code_quality.html -
自动部署
-
自动性能测试
-
自主监控
-
Code Review
https://about.gitlab.com/stages-devops-lifecycle/code-review/
-
Review Apps
https://docs.gitlab.com/ee/ci/review_apps/index.html
-
Node中间件
通过Node.js实现的网关层,可以整合各服务网关数据,实现按需配置请求,减少网络等待时间,加快网络请求时长,降低开发成本,在大型复杂的应用中效果尤为明显
按需获取数据常见的两种方案:
1.中台化服务
2.GraphQL应该多关注稳定性,容灾容错,弹性,监控告警等
逆向分析
JS
-
js-beautify
https://github.com/beautify-web/js-beautify
安全
数据安全
代码安全
通信安全
-
SSL
SSL, or Secure Sockets Layer, is the industry-standard technology for establishing an encrypted link between a web server and a browser.
社区库
热力图
https://github.com/Leaflet/Leaflet.heat
Demo1:
http://leaflet.github.io/Leaflet.heat/demo/Demo2:
http://leaflet.github.io/Leaflet.heat/demo/draw.htmlthree.js (3D)
https://threejs.org/
商业解决方案
-
EverCraft
https://evercraft.co/zh/api
Lottie (动画)
For Web, Android, iOS, React Native, and Windows
Lottie is a mobile library for Web, and iOS that parses Adobe After Effects animations exported as json with Bodymovin and renders them natively on mobile!
https://github.com/airbnb/lottie-web
http://airbnb.io/lottie/#/
跨平台开发
Rax
https://rax.js.org/
-
H5
-
Weex
- Android
- iOS
-
阿里小程序
-
微信小程序
Electron
跨域
http://www.ruanyifeng.com/blog/2016/04/cors.html
简单请求
- HEAD
- GET
- POST
非简单请求
非简单请求在发起请求前会发起预检,执行Opions的请求,如果预检通过,则本次生命周期内不会再进行预检
- PUT
- DELETE
常用工具推荐
https://ice.work/docs/guide/resource/tools
FusionCool
Sketch设计辅助工具
React Developer Tools
Charles
Postman
Octotree
XMind: ZEN - Trial Version
更多相关内容 -
-
AUTOSAR架构以及开发流程详细介绍(Vector公司制作-中文版)
2018-08-05 19:07:00AUTOSAR架构以及开发流程详细介绍(Vector公司制作-中文版),非常适合初学者以及从事AUTOSAR开发的研究者和工作人员 -
网络安全架构
2021-03-05 10:29:07网络安全架构 2021/3/5 一.安全域 安全域 安全域是边界防护的基础 具有相同安全业务级别 统一的边界访问策略控制 通常将安全域分为 办公域 办公服务域 线上业务域1.2.3.等 开发域 测试域 对外...网络安全架构
2021/3/5
一.安全域
安全域
安全域是边界防护的基础
具有相同安全业务级别
统一的边界访问策略控制通常将安全域分为
办公域
办公服务域
线上业务域1.2.3.等
开发域
测试域
对外服务域
外网传统企业网络架构
典型安全域架构
金融行业安全域架构
思考
除了业务安全域,还有it本身的安全域,如:
VPN+SSH+RDP
管理网段+双网卡二.安全域面临的挑战
企业广泛的采用纵深防御技术(defensin depth)和最小权限逻辑(least privilege)来进行企业网络安全管理
安全域隔离是实现这两个理念的基本方式
通过边界部署防火墙来实现可信网络与外部网络的隔离,内部不同安全级别划分安全域,域间通过防火墙实现隔离,并通过设置安全策略按需赋予访问权限虚拟数据中心/私有云的特点
虚拟机数量较多,少则几百台,多则几千上万台,且不断增加
多分支机构,多业务部门使用,安全级别复杂
业务灵活多变,资源按需分配,变化随时发生(业务上下线,扩容,复制,漂移)虚拟化+私有云是一种动态,便捷的解决方案
而传统安全域划分,要求主机或应用静态,固定
由此产生对立所以我们新的安全域划分需要
识别应用或业务之间的关联
更加颗粒化,最小单位应用或端口,而非主机
策略在应用动态扩展时,能自动化扩展
安全策略需可视化
使用SDN(软件定义网络)配套管理 -
计算机网络 之 P2P架构
2022-04-12 11:17:15纯P2P架构 文件分发:客户机/服务机器vs.P2P 客户机/服务器 P2P 客户机/服务器 vs .P2P :例子 文件分发:BitTorrent BitTorrent(1) BitTorrent(2)--如何获取和发送chunk BitTorrent:Tit-for-tat ...目录
P2P应用:原理及文件分发
纯P2P架构
文件分发:客户机/服务机器vs.P2P
客户机/服务器
P2P
客户机/服务器 vs .P2P :例子
文件分发:BitTorrent
BitTorrent(1)
BitTorrent(2)--如何获取和发送chunk
BitTorrent:Tit-for-tat
BitTorrent的危害
P2P索引技术
P2P:搜索信息
索引技术应该如何设计???
集中式索引
集中式索引的缺点
分布式索引系统(洪泛式查询):Query flooding
层次式覆盖网络
P2P案例应用:Skype
索引分布在超级节点上
-
【5G架构】5G 核心网——基于服务的网络架构
2021-12-25 10:00:18传统的网元是一种紧耦合的黑盒设计,NFV 从黑盒设备中解耦出网络功能软件,但解耦之后的软件依然是 “大块头” 的单体式架构,需要进一步分解成细粒度化的模块组织,并通过开放API来实现集成,以提升应用开发的整体...博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持!
博主链接本人就职于国际知名终端厂商,负责modem芯片研发。
在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。
博客内容主要围绕:
5G协议讲解
算力网络讲解(云计算,边缘计算,端计算)
高级C语言讲解
Rust语言讲解
5G 核心网——基于服务的网络架构
5G 除了满足人与人之间的通信,更重要的目标是万物互联。4G 已经改变了人类的生活方式,5G 将改变社会的生产模式
5G 为什么要引入SBA(service-based System Architecture) 5G 的主要三大场景 eMBB、mMTC、uRLLC源于现代社会化人类活动、工作、娱乐等方面日新月异的需求的爆发式增长,这些涉及人类活动的各行各业被称为垂直行业,由垂直行业必然催生出所谓的万物互联的巨大需求。为了满足5G 万物互联的需求,通信人致力于对贯穿于 5G 网络的基站、核心网、编排管理、传输等各部分的实现。对于核心网而言,基于传统CT思维的设计模式显然已经不足以面向未来。因此,5G 核心网设计成更方便、更灵活引入垂直行业的架构,这就是我们提到的基于服务的网络架构(SBA)。
如何理解 SBA 首先,我们需要了解两个IT的概念,云原生和微服务。基于服务的网络架构在很大程度上借鉴了IT领域的这两个设计思维。
众所周知,传统的网元是一种紧耦合的黑盒设计,NFV 从黑盒设备中解耦出网络功能软件,但解耦之后的软件依然是 “大块头” 的单体式架构,需要进一步分解成细粒度化的模块组织,并通过开放API来实现集成,以提升应用开发的整体敏捷性和弹性。因此,IT界提出了基于云原生的设计原则。
云原生是一种思想的集合,包括DevOps、持续交付(Continuous Delivery)、微服务(MicroServices)、敏捷基础设施(Agile Infrastructure)、康威定律(Conways Law)等。
微服务就是指单体式架构(Monolithic)拆分成多个粒度更小的服务,微服务之间通过API交互,且每个微服务独立于其他服务进行部署、升级、扩展,可在不影响客户使用的情况下频繁更新正在使用中的应用。
所以,简单来讲,基于服务的网络架构=网络功能服务+基于服务的接口。它将传统网元转换为网络功能(NF),然后NF被分解为多个网络功能服务,并通过基于服务的接口来展现其功能,因此,网络功能服务可以被授权的NF灵活使用。
协议中关于5GC的描述 👇基于服务接口的网络架构
👇基于参考点的网络架构
在TS 23.501-4.2.3中对5G 核心网架构进行了介绍。与LTE不同的是,协议分别从基于服务的接口和参考点关系两个角度来描述核心网架构,如上图。基于参考点的网络架构可以比较清晰地看到功能节点之间的连接关系和接口。基于服务的网络架构可以更清晰的看到核心网网络功能之间的服务供给关系,用一个类似 “总线” 的结构简化了接口设计,充分体现了网络功能服务和基于服务的接口的概念。
SBA 的特征和优势 特征一:传统网元拆分
伴随着虚拟化技术在电信领域的运用,传统意义上的核心网网元实现了软硬件解耦,软件部分被称为网络功能。3GPP 定义的服务化结构将一个网络功能进一步拆分成若干个自包含、自管理、可重用的网络功能服务(NF Service),这些网络功能之间相互解耦,具备独立升级、独立弹性的能力,具备标准接口与其他网络功能服务互通,并且可通过编排工具、根据不同的需求进行编排和实例化部署。这种网元拆分与我们经常谈论的云原生或微服务架构有着相似的概念,而3GPP 进行了标准化定义,并未每个5G 网络功能定义了一组具备对外互通标准接口的网络功能服务。
特征二:网络功能服务自动化管理
网络功能被拆分成若干个网络功能服务后,工程师会从面对几个网元转向面对几十个网络功能服务,如果仍然依靠手工维护方式,则困难极大。因此,5G 核心网的网络功能服务需要能够做到自动化管理,网络存储功能(NRF Network Repository Function)就是这样一个网络功能,NRF支持以下几个重要功能:
- 网络功能服务的自动注册、更新和去注册:
每个网络功能服务在开机时会自动向NRF注册本服务的 IP 地址、域名、支持的能力等相关信息,在信息变更后会自动同步到NRF,在下电时向NRF进行去注册。NRF需要维护整个网络所有的网络功能服务的实时信息,类似一个网络功能服务实时仓库; - 网络功能服务的自动发现和选择:
在5G 核心网中,每个网络功能服务都会通过NRF来寻找合适的对端服务,而不是依赖于本地配置方式固化通信对端。NRF 会根据当前信息向请求者返回对应的响应者网络功能服务列表,供请求者进行选择。这种方式一定程度上类似于DNS 机制,从而实现网络功能服务的自动发现和选择; - 网络功能服务的状态检测:
NRF可以与各网络功能服务之间进行双向定期状态检测,当某个网络功能服务异常时,NRF 将异常状态通知到与其相关的网络功能服务; - 网络功能服务的认证授权:
NRF作为管理类网络功能,需要考虑网络安全机制,以防止被非法网络功能服务劫持业务。
特征三:网络通信路径优化
传统核心网的网元之间有固定的通信链路和通信路径,例如上图,在4G 中用户的位置信息必须从无线基站上报给MME,然后由MME通过 S-GW传递给 P-GW,最终传递给PCRF实体进行策略的更新。
而在5G 核心网服务化架构下,各网络功能服务之间可以根据需求任意通信,极大地优化了通信路径。同样以用户位置信息策略为例,PCF实体可以提前订阅用户位置信息变更事件,当AMF 中的网络功能服务检测到用户位置信息变更后,发布用户位置信息变更事件,PCF 可以直接实时接收到该事件,无须其它网络功能服务进行中转。
特征四:网元间通信机制优化
传统核心网网元之间的通信遵循请求者和响应者的点对点模式,这是一种相互耦合的传统模式。5G 核心网架构下的网络功能服务间通信机制进一步解耦为生产者和消费者模式,生产者发布相关能力,并不关注消费者是谁、在什么地方。消费者订阅相关能力,并不关注生产者是谁、在什么地方。这是一种从IT也借鉴过来的通信模式,非常适用于通信双方的接口解耦。
总结
根据上面的描述,基于服务的网络架构相比传统的网络架构有很多的优点,
- 微服务架构将原来 “大而统” 的核心网节点划分为 “小而专” “低耦合” “高度自治” “单一职责” 的服务模块;
- 而且充分考虑核心网未来功能的扩展,利用类似 “总线” 的方式相互连接,并使用 API 接口提供对外统一的服务;
- 此外,节点间的通信轻量化,节点间通信采用 “与平台无关” “与语言无关” 的统一接口和通信语言,使功能的增加无接口和语言障碍(采用 HTTP 2.0)。
- 网络功能服务的自动注册、更新和去注册:
-
一分钟搞懂中小型企业网络架构
2020-03-14 11:33:02江湖规矩先来说说项目背景: 1. 某公司有100台电脑(其实200...网络拓扑: 拓扑说明: 1. 拓扑里我用Cisco 2811充当防火墙,实属无奈,这个版本PT模拟器里ASA没有NAT功能,实际项目中我们肯定使用专业防火墙设备... -
区块链网络架构
2022-03-14 09:50:511、区块链发展史:区块链1.0 可编程货币,区块链2.0 可编程金融,区块链3.0 可编程社会...3、区块链网络架构:数据层、网络层、共识层、激励层、合约层、应用层 4、区块链生态:技术生态、用户生态、应用生态、存储生态 -
逻辑架构、开发架构、运行架构、物理架构、数据架构
2018-02-24 15:58:00在实际工作中,我们经常听到“架构”和“架构师”这样的名词,并不新鲜... -
适用于独立游戏开发的Unity3D 网络游戏架构设计
2017-12-21 18:33:10最近在GitChat上发布了一个网络游戏框架教程,目标是带领读者搭建一个商业游戏的网络架构设计,该架构设计是游戏的核心技术,将采用 Unity 2017.2 最新版本作为开发工具。内容分为 UI 架构、技能架构、服务器和网络... -
Web开发技术架构图
2020-09-24 21:07:05大型web系统架构动态应用,是相对于网站静态内容而言,是指以c/c++、php、Java、perl、.net等服务器端语言开发的网络应用软件,比如论坛、网络相册。1、学习Web开发原理,包括MVC/MTV等Web框架; 2、学习Django Web框架,... -
从计算机网络五层架构理解工业互联网体系架构
2022-02-12 17:08:25工业互联网的定义 ...计算机网络五层架构 物理层 实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异。 数据链路层 在两个相邻节点间的链路上传送帧。每一帧包括 -
汽车服务架构(SOA)开发设计
2022-02-23 16:51:42SOA (服务导向架构,Service Oriented Architecture)作为一种架构范式,展示了技术中立的最佳实践。其建立在标准之上,可在供应商的广泛支持下在全球范围内实现经济高效的实施。以在企业内部和跨企业创建新业务功能... -
5G网络架构 — 接入网/传输网/核心网
2021-09-13 20:03:01在我们正式讲解之前,我想通过这张网络简图帮助大家认识一下全网的网络架构,通过对全网架构的了解,将方便您对后面每一块网络细节的理解。 这张图分为左右两部分,右边为无线侧网络架构,左边为固定侧网络... -
微信小程序架构图与开发
2021-10-20 11:15:58微信小程序原理分析和多端小程序架构原理(应该是全网最全了) | 悬笔e绝的个人博客前言互联网生态演进:超级 APP + 小程序成为「轻应用时代」下的新生态。 一方面微信、支付宝等各家小程序平台遍地开花,另一方面... -
单体架构的开发和架构问题
2021-11-28 12:25:17一电商单体架构 ...通过引入redis 达到降低网络 io 和磁盘 io。 2增强型 分库分表。 三小厂单体应用开发一般模式 其中会架设SVN或GIT,但依然存在很多问题。 四单体架构系统架构问题、 ... -
时代中的软件开发:基于BS架构的低代码
2022-03-01 18:22:48编者按:本文对C/S架构与B/S架构做介绍与对比,分析为什么新时代下B/S架构的办公软件成为必然,再说说基于B/S架构的低代码平台,看看它在软件开发上展现了什么亮点。 C/S架构与B/S架构的区别 C/S架构:即Client/... -
基于springboot开发项目架构概述
2020-05-11 12:19:30** 本篇对基于springboot构建的项目的项目功能结构和技术架构做一个概述,通用大部分项目,如有不符,恳请纠正.** 项目功能结构: 1 门户: 在首页、活动页、专题页等页面提供功能入口,如:首页,注册登录,搜索,产品入口等.... -
IT人的5G网络架构视点:从网络架构演进的前世今生详解5G各NF网络功能体
2020-04-14 20:10:25以前从来没关注电信无线上网网络的具体架构(也即PS域架构),现在开始学5G接触这些东西时,理解起来很痛苦,资料也少,于是一方面到处找人咨询,一方面到处查资料,最后发现应该从3G、4G时代的架构及功能开始学习,... -
C/C++ Linux后台服务器开发高级架构师学习知识点路线总结(2021架构师篇完整版)
2020-12-28 20:18:00C/C++ Linux后台服务器开发高级架构师学习知识点路线总结(2021架构师篇完整版) 前言: 小编之前有跟大家分享过一篇架构师体系知识点总结的文章,今天在原来的基础上有所改变更新(2021版)。 相信大家也知道,... -
电子电器架构设计与开发流程
2020-04-13 20:01:59电子电器架构设计与开发流程 随着汽车配置复杂度的增加,电子电器系统越来越复杂。同时,电子电器的成本压力也越来越大,对电器系统优化的要求也日益增加。鉴于以上原因,电子电器架构EEA (Electronic & ... -
【后端开发】分析抖音后台架构
2020-01-14 21:04:40最后分享抖音美女爬虫 https://github.com/wangshub/Douyin-Bot -
5G网络架构(接入网,传输网,核心网)
2021-06-08 20:54:00在我们正式讲解之前,我想通过这张网络简图帮助大家认识一下全网的网络架构,通过对全网架构的了解,将方便您对后面每一块网络细节的理解。 这张图分为左右两部分,右边为无线侧网络架构,左边为固定侧网络架构。 ... -
Unity3D开发之网络游戏中服务器端的架构设计
2018-03-28 09:51:57最近在研究网络游戏开发,感觉结构很好玩,所以就将自己学到了解到的记录下来。博客前几篇的Socket通信讲的就是网络游戏部分Socket的基本结构。上一篇的对MySql使用就是服务器对数据库的连接使用。今天要介绍的就是... -
5g网络架构词汇
2021-05-07 14:45:18UE:用户终端,包含手机、智能终端、多媒体设备、流媒体设备等; ®AN:无线接入网络 ...NEF:网络开发功能; NRF:网络存储功能; PCF:策略控制功能; UDM:统一数据管理,用户服务NF注册管理,产生3GPP -
成长路线 - Android移动开发架构师
2021-11-30 15:11:44基础知识进阶、常用高级UI、架构师必备技能、常用三方框架解读、源码解析… 文章整理、总结Android架构师成长中的各类知识要点,持续更新。 Java基础进阶 Java开发中的泛型 -
模块化架构
2021-12-26 10:47:17基于传统的开发方式,软件工程到一定的规模以后,系统变的越来越复杂,很多一定规模的公司,中台系统也非常庞大复杂,按传统的开发方式,来一个需求,编码开发,一段时间之后系统变的越来越臃肿。 这是一张印度的... -
系统设计之架构图——应用架构图、技术架构图、业务架构图
2022-04-28 19:54:33文章目录1 什么是架构图?1.1 架构图的定义1.2 架构图的分类 1 什么是架构图? 1.1 架构图的定义 往往系统是非常复杂的,无法一下子全部表达清楚,架构要涵盖的内容和决策太多了,超过了人脑"一蹴而就"的能力范围... -
C++高并发网络架构与实现——第一篇
2020-11-26 21:14:00一,方式:Socket、全栈、跨平台 Socket 运用C++和Socket API来构建百万级处理能力的网络通信引擎 全栈 不仅包含后端(服务端)的开发知识,还包括前端(客户端)的网络通信知识,并且会在主流引擎工具实际应用。... -
Web开发之-CS架构与BS架构
2020-08-16 12:50:54客户端/服务器模式,在以前网络传输效率比较底下的时候,是CS架构软件盛行的时代,在这个时 代,所有的软件使用都离不开客户端程序,即需要先从远程下载一个客户端安装包,在本地安装,然后才能够正常 使用,对本机... -
NAIE云服务定位和架构——网络AI模型开发(华为云)
2020-01-28 17:48:11电信领域网络AI开发平台“NAIE网络智能”(原:SoftCOM AI云服务平台)的架构和服务特性。 目录 NAIE云服务定位和架构: 数据湖、数据资产管理服务、数据集服务、数据生成服务、训练平台 训练服务、模型生成服务...