• 程序员架构修炼:架构设计概要,业务、应用、技术、数据架构

    架构设计在架构设计过程中,我们会根据需要做出不同的架构设计,而在设计时需要涉及一定的架构设计核心要素。架构设计概要架构设计是从业务需求到系统实现的一个转换,是对需求进一步深入分析的过程,用于确定系统中实体与实体的关系,以及实体的形式与功能。架构可根据从业务需求到系统实现的不同需要分为:业务架构、应用架构、数据架构、技术架构。下面以电商系统为例进行架构设计。业务架构业务架构是对业...

    架构设计 2021年01月07日 2145 0
  • API快速开发平台设计思考

    在我谈API网关的时候曾经谈到过快速开发平台,即将API快速开发的一些内容放入到API网关中,实际来看围绕API全生命周期管理,本身包括了开发态,运行态,运维态。对于API网关更多的是解决运行态的问题,API网关本身应该轻量化设计,不做太多的协议转换,适配,数据映射等工作,这些工作应该放到API开发平台来完成。API开发平台最终就是开发完成并暴露一个标准的Http API接口,...

    架构设计 2021年01月06日 1134 0
  • “12306”的架构到底有多牛逼?

    每到节假日期间,一二线城市返乡、外出游玩的人们几乎都面临着一个问题:抢火车票!虽然现在大多数情况下都能订到票,但是放票瞬间即无票的场景,相信大家都深有体会。尤其是春节期间,大家不仅使用12306,还会考虑“智行”和其他的抢票软件,全国上下几亿人在这段时间都在抢票。“12306服务”承受着这个世界上任何秒杀系统都无法超越的QPS,上百万的并发再正常不过了!笔者专门研究了一下“12...

    架构设计 2021年01月01日 1089 0
  • 大数据脱敏方案调研

    大数据发展速度飞快,大数据的价值也有目共睹,在大数据技术领域,对于分析性能,实时性等方面都有了很大的突破,但数据安全问题在数据业务建立初期很难被重视,而数据规模壮大后才开始重视,以致大多数企业大数据平台安全管控能力普遍缺失。。现今数据安全问题频发,而且一旦发生就会对公司造成很严重的利益甚至声誉损害。数据安全引发的问题代价极高,后果严重,而我们又不能保证服务器永远不会被攻击,所以...

    架构设计 2020年12月30日 2026 0
  • 微服务架构实战:使用Jenkins实现自动化构建

    使用Jenkins实现自动化构建一个大型平台的微服务架构设计通常会产生很多项目工程,因此会有很多服务和应用需要部署,并且需要不断地迭代和更新,这是一个庞大的工程,所以我们需要借助自动化工具,实现各个微服务工程的CICD工作流程。CICD是持续集成(Continuous Integration)和持续部署(Continuous Deployment)的总称,是指通过自动化的构建、...

    微服务 2020年12月26日 1173 0
  • 从根上理解高性能、高并发:深入计算机底层,理解线程与线程池

    前言作为即时通讯技术的开发者来说,高性能、高并发相关的技术概念早就了然于胸,什么线程池、零拷贝、多路复用、事件驱动、epoll等等名词信手拈来,又或许你对具有这些技术特征的技术框架比如:Java的Netty、Php的workman、Go的nget等熟练掌握。但真正到了面试或者技术实践过程中遇到无法释怀的疑惑时,方知自已所掌握的不过是皮毛。本篇概述本篇主要是从CPU这一层来讲解多...

    架构设计 2020年12月24日 1059 0
  • 微服务架构设计实践总结和思考

    今天继续谈下在微服务架构设计中的一些实践和思考。对于SOA和微服务,我前面很多文章都进行了详细的阐述,今天这篇文章重点还是放在一些架构设计和实践的一些关键点思考上面。微服务架构核心再次强调,微服务架构核心是传统单体应用大拆小,同时拆分为小的微服务后相互之间以轻量的API接口进行通信。而这个拆分本身又分了多个方面。开发团队的拆分代码层的拆分,可独立构建打包数据库的拆分在拆分后为了...

    微服务 2020年12月22日 1123 0
  • 权限系统的基本概念和架构

    简介权限系统是我们在系统设计和应用中一种非常常见的系统。一般来说权限系统的功能分为认证和授权两种。认证就非常简单的,验证完用户名密码就算认证成功,而授权里面的套路就很多了,本文将会详细讲解权限系统中的一些基本概念和设计上面要注意的问题,希望大家能够喜欢。授权流程在授权流程中主要有三个部分,分别是资源管理,权限和策略管理,策略的执行。先看下资源管理:首先我们需要创建一个资源服务器...

    架构设计 2020年12月22日 1148 0
  • 微服务网关——设计篇

    在《微服务网关——需求篇》中,我们讨论了微服务网关的需求,本文将对微服务网关进行设计。考虑到实际情况的差异,这里实际给出的是设计选项,最终设计基于实际场景来确定。网关功能性设计路由一般情况下,服务对外提供的是RESTful接口,所以一般路由模块根据请求的host, url等规则转发到指定的服务。考虑到路由规则需要频繁的修改发布,为了发布的便利性,考虑针对规则实现热发布。有几种实...

    微服务 2020年12月03日 1128 0
  • 浅谈web网站架构演变过程

    前言  我们以javaweb为例,来搭建一个简单的电商系统,看看这个系统可以如何一步步演变。  该系统具备的功能:用户模块:用户注册和管理商品模块:商品展示和管理交易模块:创建交易和管理阶段一、单机构建网站  网站的初期,我们经常会在单机上跑我们所有的程序和软件。此时我们使用一个容器,如tomcat、jetty、jboos,然后直接使用JSP/servlet技术,或者使用一些开...

    架构设计 2020年12月03日 963 0
  • 你的平台有这四大技术架构群吗?

    云平台、数字化平台、中台、第三方平台……围绕着数字化、智能化,市场上一下子冒出很多平台。中国软件网、海比研究在近年来对企业、尤其是大型企业的数字化发展状况调查发现,为企业数字化选择一个合适的底座平台,是众多企业的一个刚需。但他们面临的一个普遍问题是:市场上的平台,实在太多了。到底什么才是真平台?谁才是适合自己的数字化平台?“云时代的数字化平台,非常复杂,轻易不好分辨谁优谁差。”...

    架构设计 2020年12月02日 1312 0
  • 架构设计--配置信息管理

    0. 配置信息配置信息特指程序启动时对程序进行配置的信息,常见的如服务端口、数据库连接信息、线程池信息等。在系统启动时,程序会通过不同的配置方案,主动获取配置信息,以完成系统的初始化工作。因此,配置信息的管理是一件非常重要的事情。您的配置信息是怎么管理的呢?让我们一起见证下配置信息管理的不同方案。1. 将配置信息写死在业务代码中在业务代码中写死配置信息绝对是大部分新手常干的事情...

    架构设计 2020年12月01日 1045 0
  • SpringCloud微服务架构实战:高并发微服务架构设计

    高并发微服务架构设计作为一个 IT 从业人员,我们经常会碰到类似于下面的一些问题:单个项目巨大而沉重,难以维护。系统稳定性得不到更有效的保证。怎样才能持续地提升系统的性能。怎样才能快速地响应需求的变更,并且系统更新不会引起任何抖动。怎样才能更好地适应系统规模化的扩张。针对上面这些问题,我们无时无刻不在努力地进行各种各样的尝试和探索,寻求更好的解决方案,或者使用更先进的技术。目前...

    架构设计 2020年11月26日 2251 0
  • 架构师之路:微服务技术选型

    作为一名架构师,需要规划产品技术路线,负责技术选型。而技术栈选型主要参考以下几个标准:安全稳定,不能经常被爆出安全漏洞开源社区活跃度,加入Apache的组件优先考虑一线互联网公司落地产品,有大公司为其背书文档阅读性好本篇为大家带来微服务架构的后端技术选型,当你需要进行技术选型时,可以参照他来设计自己的决策树。开发语言JAVA主流编程语言,适合构建大型后台服务GolangGo语言...

    微服务 2020年11月26日 1215 0
  • 中台和微服务架构规划-模块划分和接口服务识别定义

    概述对于传统企业微服务架构转型,基于中台和微服务思想进行传统IT系统的改造和优化是一个重要的趋势,特别是在企业IT架构逐步走向云原生技术的时候,微服务本身也是关键的要素。而对于微服务整体的治理框架,我在前面给出一个大的框架图,如下:整个微服务治理框架覆盖了微服务全生命周期管理,其中本身又分为微服务架构规划和微服务开发和运维两个关键的阶段。而在微服务架构规划阶段最重要的又是两件事...

    架构设计 2020年11月22日 2703 0
  • 软件架构设计分层模型和构图思考

    今天谈下架构设计中的分层思维和分层模型以及基于分层思维下的架构构图逻辑。架构思维概述对于架构思维本身仍然是类似系统思维,结构化思维,编程思维等诸多思维模式的一个合集。由于架构的核心作用是在业务现实世界和抽象的IT实现之间建立起一道桥梁,因此架构思维最核心的就是要理解到业务驱动技术,技术为最终的业务服务。要真正通过架构设计来完成业务和技术,需求和实现,软件和硬件,静态和动态,成本...

    架构设计 2020年11月20日 2466 0
  • “架”驭全局、“构”筑未来—微服务架构转型

    一、为什么要微服务转型二、什么是微服务1、概念定义Martin Flower: In short, the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own...

    架构设计 2020年11月20日 1657 0
  • 微服务架构下的API接口驱动开发,设计和集成

    今天谈下在微服务架构下,接口设计和开发方面的思考。对于微服务架构,SOA和Http Rest API接口设计,在我前面的文章中均有专门的说明,因此对于基础方面的解释在本文不再重复。对于今天要写的内容,先总结一句话再展开说明。在SOA和微服务架构思想下,除了常说的面向对象,领域驱动,SOA等架构思想外。还需要增加基于API接口驱动进行的设计和开发工作。API接口的识别,定义,设计...

    架构设计 2020年11月19日 1303 0
  • 膜拜!来看大牛是如何设计微服务系统的,学会直接拥有架构师思维

    前言毫无疑问,如何设计微服务系统是本书所要讨论的核心话题。本节我们将从服务拆分、服务测试、服务注册、服务发现、负载均衡、服务部署、服务发布等方面来展开讨论。服务拆分服务拆分首先要关注的是服务的颗粒度。通过DDD ( 领域驱动设计)的指导,我们可以将某个领域的功能进行聚合成为-一个服务。这个服务只负责某一个方面的功能。DDD其实没有太多新鲜的内容,它更多的是可以看作是面向对象思潮...

    架构设计 2020年11月17日 1010 0
  • 微服务和API网关限流熔断实现关键逻辑思路

    今天准备谈下微服务架构和API网关中的限流熔断,当前可以看到对于Spring Cloud框架本身也提供了Hystrix,主流的开源API网关产品类似Kong网关本身也包括了限流熔断能力。当然也有完全较为独立的限流熔断开源实现,比如阿里的Sentinel即是我们经常会用到的限流熔断开源产品,而且可以和Dubbo,SpringCloud等各种微服务框架无缝集成。由于网上大家能够搜索...

    架构设计 2020年11月14日 1790 0
  • 消息模型:主题和队列有什么区别?

    可以看到,技术圈的风向一直在变,大数据、云的热度已经在慢慢消退,现在当红的是 AI 和 IoT。这些火热的概念,它最终要从论文和 PPT 落地,变成真正能解决问题的系统,否则就是一个空中楼阁。那不变的是什么?(一些题外话的感触)主题和队列有什么区别?最初的消息队列,就是一个严格意义上的队列消费者之间实际上是竞争的关系,每个消费者只能收到队列中的一部分消息如果需要将一份消息数据分...

    架构设计 2020年11月14日 1091 0
  • 医院信息化集成平台解决方案建议分享

    今天整理和分享下多年前关于医院信息化集成平台建设的方案思考。虽然对于集成平台,ESB总线来说更多的是一个和业务无关的技术平台,但是在整理医院信息化集成平台解决方案的时候,仍然需要了解医院信息化的业务场景和业务架构,数据标准规范体系等。医院信息平台建设的必要性建立医院信息平台就是为了提供建设规范和数据标准,形成全院级以电子病历为核心的病人主索引,实现医院内部不同时期的不同软件产品...

    架构设计 2020年11月08日 1522 0
  • 分布式架构的前世今生

    一、前言随着社会的发展,技术的进步,以前的大型机架构很显然由于高成本、难维护等原因渐渐地变得不再那么主流了,替代它的就是当下最火的分布式架构,从大型机到分布式,经历了好几个阶段,我们弄明白各个阶段的架构,才能更好地理解和体会分布式架构的好处,那么本文我们就来聊聊分布式架构的演进过程,希望能给大家带来眼前一亮的感觉。二、背景说明我们都知道一个成熟的大型网站的系统架构并非一开始就设...

    架构设计 2020年09月19日 1374 0
  • 保证分布式系统数据一致性的6种方案

    问题的起源在电商等业务中,系统一般由多个独立的服务组成,如何解决分布式调用时候数据的一致性?具体业务场景如下,比如一个业务操作,如果同时调用服务 A、B、C,需要满足要么同时成功;要么同时失败。A、B、C 可能是多个不同部门开发、部署在不同服务器上的远程服务。在分布式系统来说,如果不想牺牲一致性,CAP 理论告诉我们只能放弃可用性,这显然不能接受。为了便于讨论问题,先简单介绍下...

    架构设计 2020年09月19日 1206 0
  • 【系统架构】什么是Serverless?为什么Serverless最近这么火?

    Serverless 目前是大热的话题,相信你肯定听过,但如果你去百度、Google 或者维基百科上查的话,你会发现它连个准确的定义都没有。什么是Serverless?为什么Serverless最近这么火?今天我就带你深入地了解下 Serverless,看看这到底是什么?Serverless 能解决什么问题?从字面意思理解,Serverless 包含 server 和 less...

    架构设计 2020年05月04日 1275 0
  • 弹幕系统设计实践

    背景为了更好的支持东南亚直播业务,产品设计为直播业务增加了弹幕。第一期弹幕使用腾讯云支持,效果并不理想,经常出现卡顿、弹幕偏少等问题。最终促使我们开发自己的弹幕系统。性能要求是需要支持,单房间百万用户同时在线。问题分析按照背景来分析,系统将主要面临以下问题:带宽压力假如说每3秒促达用户一次,那么每次内容至少需要有15条才能做到视觉无卡顿。15条弹幕+http包头的大小将超过3k...

    架构设计 2020年05月02日 2164 0
  • 必须了解的实时数据架构

    随着互联网的发展进入下半场,数据的时效性对企业的精细化运营越来越重要, 商场如战场,在每天产生的海量数据中,如何能实时有效的挖掘出有价值的信息, 对企业的决策运营策略调整有很大帮助。此外,随着 5G 技术的成熟、广泛应用, 对于工业互联网、物联网等数据时效性要求非常高的行业,企业就更需要一套完整成熟的实时数据体系来提高自身的行业竞争力。本文从上述现状及实时数据需求出发,结合工业...

    架构设计 2020年05月01日 1807 0
  • 高性能前端架构解决方案

    这篇文章介绍了一些使前端应用程序加载更快并提供良好用户体验的技术。我们将研究前端的总体架构,如何首先加载必需的资源,并最大化资源缓存的概率。无论你的页面是否需要成为客户端应用程序,还是如何优化应用程序的渲染时间,我都不会说太多后端如何传递资源。总览我将把应用程序加载分为三个不同的阶段:初始渲染 – 用户看到任何东西之前需要多长时间?应用程序加载 – 用户可以使用该应用程序需要多...

    架构设计 2020年04月27日 1424 0
  • 工作流引擎开发系列二数据库设计

    之前简单的讲解了基本原理,从这节开始会详细讲解。首先需要讲解的就是数据设计,下面就是数据库的相关设计表名:WorkflowTemplate--工作流模板表名:WorkflowTemplateFlow--模板活动Activity表名:WorkflowFlowRole--Activity审批权限表名:WorkflowFlowCondition--分支节点条件表名:WorkflowI...

    架构设计 2020年04月27日 2354 0
  • 百万用户在线的角色服承载能力分析

    一、用户基数的预设假设整套游戏服务端的架构设计以100万用户在线进行游戏为准,日活(用户每日活跃数量)就是要1000万以上,总的用户量都得1亿左右(呵呵,是不是很夸张,极少公司能做到)。下面各种进程类型,从CPU、内存和网络三个方面进行分析,如何进行架构设计来承载 【百万用户在线】,【千万日活用户】,【亿级用户量】。二、角色服承载分析首先,要说明一下,按照分区分服的运营策略,在...

    架构设计 2020年04月27日 1618 0