架构设计:分布式结构下,服务部署发布

分布式系统架构下,服务发布是一件很麻烦的事情,特别是在构建自动发布流程和灰度测试的策略两个核心方面。通常情况下如果不涉及数据层面的灰度流程,服务可以灰度上线,或者滚动上线,这两种方式很常用;如果涉及到数据灰度,则可能需要中间服务做不同版本数据之间追平,或者停机维护一次性处理好数据和上线问题,不过后面... ... »

编码风格:Mvc模式下SSM环境,代码分层管理

​MVC模式与代码分层策略,MVC全名是ModelViewController即模型-视图-控制器,作为一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑,这是一种开发模式,但并不是实际开发... ... »

架构设计 | 分布式事务①概念简介和基础理论

本文源码:GitHub·点这里 || GitEE·点这里 一、分布式事务简介 1、转账经典案例 跨地区和机构的转账的业务在实际生活中非常常见,基础流程如下: 账户01通过一系列服务和支付的流程,把钱转入账户02,在这一过程中,如果账户01出现出账成功,但是账户02没有入账,这就导致数据不一致,违反了 ... »

架构设计:分布式服务,库表拆分模式详解

本文源码:GitHub·点这里 || GitEE·点这里 一、服务间隔离 1、分布式结构 分布式系统架构的明显特点,就是按照业务系统的功能,拆分成各种服务,每个服务下面都有自己独立的数据库,以此降低业务间的耦合度,隔离不同的数据库保证系统最大的稳定性等。 例如上图是电商系统中经典的业务场景,订单-仓 ... »

架构设计 | 高并发流量削峰,共享资源加锁机制

本文源码:GitHub·点这里 || GitEE·点这里 一、高并发简介 在互联网的业务架构中,高并发是最难处理的业务之一,常见的使用场景:秒杀,抢购,订票系统;高并发的流程中需要处理的复杂问题非常多,主要涉及下面几个方面: 流量管理,逐级承接削峰; 网关控制,路由请求,接口熔断; 并发控制机制,资 ... »

架构设计 | 异步处理流程,多种实现模式详解

本文源码:GitHub·点这里 || GitEE·点这里 一、异步处理 1、异步概念 异步处理不用阻塞当前线程来等待处理完成,而是允许后续操作,直至其它线程将处理完成,并回调通知此线程。 必须强调一个基础逻辑,异步是一种设计理念,异步操作不等于多线程,MQ中间件,或者消息广播,这些是可以实现异步处理 ... »

数据分析 | 数据可视化图表,BI工具构建逻辑

本文源码:GitHub·点这里 || GitEE·点这里 一、数据可视化 1、基础概念 数据可视化,是关于数据视觉表现形式的科学技术研究。其中,这种数据的视觉表现形式被定义为,一种以某种概要形式抽取出来的信息,包括相应信息单位的各种属性和变量。 如果说的实际贴切的话:系统开发中常见的数据报表统计,将 ... »

数据分析 | 基于智能标签,精准管理数据

本文源码:GitHub·点这里 || GitEE·点这里 一、场景分析 1、场景案例 互联网行业的朋友一定了解或者听说过下列几个场景: 阿里:千人千面,意思不同用户使用阿里相关的产品感觉是不一样的,例如支付宝首页的推荐内容,和其他相关推荐流信息是完全不同的。 腾讯:社交广告,不同用户的朋友圈或者其他 ... »

架构设计 | 缓存管理模式,监控和内存回收策略

本文源码:GitHub·点这里 || GitEE·点这里 一、缓存设计 1、缓存的作用 在业务系统中,查询时最容易出现性能问题的模块,查询面对的数据量大,筛选条件复杂,所以在系统架构中引入缓存层,则是非常必要的,用来缓存热点数据,达到快速响应的目的。 缓存使用的基本原则: 所有缓存数据,必须设置过期 ... »