时隔两年决定重拾博客,对自己经验及感悟做一下记录,并不想教导什么,只想一方面可以沉淀自己的经验,另一方面如果能帮助别人就再好不过了。
前段时间有一大型电商客户在检查目前已有支付系统不足时描述到,目前系统依赖混乱,职责错位,应用间还存在交叉访问数据库,单表数据量大,效率低下,测试资源竞争严重等。
针对这样的现状,只有从整体架构的角度来审视,回复观点如下
从网络硬件架构角度
- 动静分离,静态资源缓存;
- 内外网络分离,提高内部应用访问安全性
- web应用、业务应用、核心应用、数据库网段分离,提高安全性、稳定性及可扩展性;
- 用户网络与银行机构网络分离,提高安全性和稳定性
- 数据库读写分离,对只读类操作如(报表相关可从只读库即可完成,避免对生产服务器产生资源危机)
- 数据库表进行分区、分表,避免随着时间及业务量的持续增长而导致瓶颈
从业务架构角度
- 分离业务入口与出口,将变化集中在轻量的端对端交互层面
- 分离B2C交易、充值、提现等,做到不相关业务分离;
- 分离不同职能的运营服务,如资金管理、风控管理、客户管理等;
- 抽取核心服务,如会员账户、支付引擎、清结算、资金渠道管理等;
- 抽取基础支撑服务,如算费、流量、限额限次等;
- 建立会计核算机制,保证资金入账准确性;
- 建立原始凭证复核机制,保障凭证流的完整性和一致性。
从系统架构角度
- 以业务架构为基础,做到服务分层,如入口层(web应用、收单网关、会员网关)等;业务应用层;核心服务层;出口层(资金渠道、对外沟通),服务依赖之上而下;
- 根据服务规模,抽离公共服务和公共组件。公共服务包括:统一缓存、统一文件、统一消息、统一日志等;公共组件包括:字符串、金额等一些基础编码工具;
- 规范框架标准,避免不同成员使用不同的技术而带来的额外学习维护成本;
- 缩短同步链,非高同步要求的都可以采用异步可靠消息队列完成整体业务链路,以提高吞吐率及相应时间;
- 减少事务块,以减少数据库链接占用时间和锁时间;
- 对于竞争频繁的资源需要结合业务角度,采用缓冲队列模式,减少竞争,而不是光从技术角度解决并发;
- 服务与服务之间采用接口方式调用,提高服务可见度及变化封装性。
相关推荐
基于微服务原则设计电商项目,使用多种诸如Eureka、Feign、Hystrix、Ribbon、Zuul、Config等技术,另外基于虚拟化技术Docker+Jenkins实现程序自动发布、基于Mycat实现第三方支付接入、整个项目的高并发测试等。...
基于微服务原则设计电商项目,使用多种诸如Eureka、Feign、Hystrix、Ribbon、Zuul、Config等技术,另外基于虚拟化技术Docker+Jenkins实现程序自动发布、基于Mycat实现第三方支付接入、整个项目的高并发测试等。...
系统具有易于使用的模板主题功能,可以很容易地通过模板调整系统的外观风格,也可以通过第三方成套的模板主题,打造专属于您的风格的网上购物系统。 系统集成了灵活先进的插件机制,可以很容易地通过插件打造非核心...
站内搜索、栏目管理、视频播放(完全模仿优酷视频页面)、焦点图、静态页面生成(新浪、搜狐等大型网站普遍采用的技术)、文章管理、无...第三方支付平台)、网站调优(数据库优化、缓存、静态页、CSS Spirit、js压缩)...
第三章 项目数据的采集分析 此章包括数据采集的内容、程序等。 第四章 项目数据分析采用的方法 此章包括定性分析方法和定量分析方法。 第五章 资产结构分析 此章包括固定资产和流动资产构成的基本情况、资产增减...
第三章 项目数据的采集分析 此章包括数据采集的内容、程序等。 第四章 项目数据分析采用的方法 此章包括定性分析方法和定量分析方法。 第五章 资产结构分析 此章包括固定资产和流动资产构成的基本情况、资产增减...
第三章 项目数据的采集分析 此章包括数据采集的内容、程序等。 第四章 项目数据分析采用的方法 此章包括定性分析方法和定量分析方法。 第五章 资产结构分析 此章包括固定资产和流动资产构成的基本情况、资产增减...
自带订单系统、交易系统(处于对安全与免责考虑,本系统并未设置第三方支付系统,支持站内或线下交易);含购物车功能;支持优惠券、优惠券的使用;个人投稿功能,设置个人专栏;最新版《阿赛树形论坛系统》植入,...
5.3.21 域36第三磁道数据 46 5.3.22 域37检索参考号 46 5.3.23 域39应答码 47 5.3.24 域41受卡机终端标识码 47 5.3.25 域42受卡方标识码 47 5.3.26 域43受卡方名称地址 47 5.3.27 域44附加响应数据 48...
自带订单系统、交易系统(处于对安全与免责考虑,本系统并未设置第三方支付系统,支持站内或线下交易); 含购物车功能; 支持优惠券、优惠券的使用; 个人投稿功能,设置个人专栏; 最新版《阿赛树形论坛系统》...
第三部分深入探讨Android平台。这一部分介绍外部通信、基于位置的服务、内置SQLite数据库和三维图形。 本书最后提供了一个附录,其中列出了Android与Java SE(Java Standard Edition,Java标准版)之间的不同之...
Chrome在启动时可以使用用户喜欢的某个标签的配置,其它浏览器需要第三方插件才能够提供这一功能。 更加安全 黑名单(Blacklists):“Google Chrome”会定期地更新防止网络钓鱼和恶意软件的黑名单,并在用户试图...
第三章 跨域交互缓存处理设计 17 3.1 跨域交互缓存处理需求 17 3.1.1 缓存技术WebStorage 17 3.1.2 跨域交互缓存处理需求 17 3.1.3 页面回退管理需求 17 3.2 缓存处理机制 18 3.2.1 跨域缓存处理 18 3.2.2页面回退...
同时,录入第一条仓库,以后行会自动携带第一行仓库,保证整单仓库基本相同。如果不相同,通常情况下是用户进行了仓库的修改。如果提交时候还要增加提示校验仓库相同 以采购入单为例编写DEP案例。 " 0.5 单据操作...