首先在第一篇正式谈论软件架构说明一下,本系列谈论软件架构设计的语言以java为主,主要探讨的其中的原理,这里只是以Java为例,其余面向对象的编程语言都能够实现本文所讲的内容。假如现在有人叫你利用编程语言来实现两只鸭子duckA与duckB,其中duckA只会“嘎嘎”叫;duckB只会“咕咕”叫。怎么实现呢?其中,有一类人认为这不很简单嘛,只需写两个类来分别 ......
381
0
0
2022-07-27
作者|许灵锋 周海发编辑|尾尾2017年春节,AR红包大放异彩。在这场红包大乱战中,QQ的AR红包、刷一刷红包再创新高,势头不容小视。本篇文章即为QQ红包的技术设计者们的经验之谈,为你全方位揭秘QQ红包的技术背景。编者按自2015年春节以来,QQ春节红包经历了企业红包(2015年)、刷一刷红包(2016年)和AR红包(2017年)几个阶段,通过不断创新玩法, ......
353
0
0
2022-07-24
作者 Geekwolf本文作者为网易高级运维工程师本文主要是学习开涛《亿级流量网站架构核心技术》一书学习笔记及自己的感悟:架构设计三大定律墨菲定律 - 任何事没有表面看起来那么简单 - 所有的事都会比预计的时间长 - 可能出错的事情总会出错 - 担心某种事情发生,那么它就更有可能发生康威定律 - 系统架构师公司组织架构的反映 - 按照业务闭环进行系统拆分/组 ......
427
0
0
2022-07-18
今天来给大家讲讲如何用C# 快速高效复制对象,干货多多,不要错过哦!废话不多说直接上干货。1、需求在代码中经常会遇到需要把对象A转换成对象B,二者属性一致(不一致可以增加映射规则)。2、解决方案2.1、硬编码直接硬编码写死转换,速度肯定最快,但是完全没有通用性,只能处理单一情况。调用一百万次耗时:26毫秒2.2、反射反射应该是很多人用过的方法,就是封装一个方 ......
332
0
0
2022-07-17
更多深度文章,请关注云计算频道:https://yq.aliyun.com/cloud2017运维/DevOps在线技术峰会上,阿里云应用运维专家夸父带来题为“同城容灾架构剖析”的演讲。本文主要从部署目标和要求开始谈起,接着着重对架构进行分析,然后又重点对任务分解进行说明,并对单双机房的部署进行了对比,最后分享了容灾演练方式。一起来了解下吧。以下是精彩内容整 ......
418
0
0
2022-07-17
一、何为插件式架构我们可以理解为具有相同行为规范的组件可以称之为插件,简单的理解就是定义一个接口类,所有实现这个接口的类都可以称之为插件,对比一下组件来理解,组件通常是指行为不一样,但最终能做完成一件事,就比如说我们调用发送邮件的组件需要五个参数且调用方法为send,调用上传文件的组件需要四个参数且调用的方法为upload,如果要做成插件的话,则首先要抽象并 ......
726
0
0
2022-07-11
什么是session?服务器为每个用户创建一个会话,存储用户的相关信息,以便多次请求能够定位到同一个上下文。Web开发中,web-server可以自动为同一个浏览器的访问用户自动创建session,提供数据存储功能。最常见的,会把用户的登录信息、用户信息存储在session中,以保持登录状态。什么是session一致性问题?只要用户不重启浏览器,每次http ......
384
0
0
2022-07-07
大型网站面临的挑战主要来自于庞大的用户群,高并发的访问量和海量的数据,任何简单的业务一旦需要处理数以P计的数据和面对数以亿计的用户,问题就会变得棘手。大型网站架构主要就是解决这类问题。大型网站构架主要是为了解决庞大的用户群数量,海量的数据以及高并发的访问数据,一点简单的业务,如果需要面向数以亿计的用户,处理起来都会变的很棘手!那么一般大型网站是怎么来处理这样 ......
393
0
0
2022-07-04
本文,将介绍数据库架构设计中的一些基本概念,常见问题以及对应解决方案,为了便于读者理解,将以“用户中心”数据库为例,讲解数据库架构设计的常见玩法。一、用户中心用户中心是一个常见业务,主要提供用户注册、登录、信息查询与修改的服务,其核心元数据为:User(uid, uname, passwd, sex, age,nickname, …)其中:uid为用户ID, ......
407
0
0
2022-06-29
什么是高可用架构在介绍高可用架构的方案之前,先说一下什么是高可用架构,高可用架构应具备但不限于以下特征:主从切换很好理解,当其中一台机器的服务宕机后,对于服务调用者来说,能够迅速的切换到其他可用服务,从服务升级为主服务,这种切换速度应当控制在秒级别(几秒钟)。当宕机的服务恢复之后,自动变为从服务,主从服务角色切换。主从切换一定是要付出代价的,所以当主服务恢复 ......
411
0
0
2022-06-28
前言高并发下如何设计秒杀系统?这是一个高频面试题。这个问题看似简单,但是里面的水很深,它考查的是高并发场景下,从前端到后端多方面的知识。秒杀一般出现在商城的促销活动中,指定了一定数量(比如:10个)的商品(比如:手机),以极低的价格(比如:0.1元),让大量用户参与活动,但只有极少数用户能够购买成功。这类活动商家绝大部分是不赚钱的,说白了是找个噱头宣传自己。 ......
408
0
0
2022-06-13
互联网项目一般具有高并发的特点,并且在响应速度上有较高的要求,一般都使用缓存来提高系统的吞吐量及响应时间,下面就介绍一下作者用过的几个缓存Memcachememcached是一个高性能分布式内存对象缓存系统,性能高效,使用方便,尤其是分布式部署上,实现起来很easy,但功能相对单一,只支持字符串类型的数据,所以在使用过程中一般需要结合序列化协议。一般只能用作 ......
453
0
0
2022-06-12
毛毛虫向往天空上次我们从ERP实施的角度,分析了电网企业的业务架构,这次我们来聊一聊ERP的技术架构,虽然小编也算是计算机专业,但是毕竟未从事技术层面的工作内容,所以在此,仅介绍基本架构层面的内容,供了解。首先任何ERP产品,基本都必不可少的3种核心技术,分别是:硬件、操作系统、数据库。硬件,可以选择云方案,也就是云端服务器及存储系统,使用例如IaaS云提供 ......
563
0
0
2022-06-06
集中式数据架构将数据存储在单个计算机的数据库系统中,数据管理被某个站点或中心站点集中控制,所有用户以直接或远程方式操作该数据库,进行数据处理,这种方式的优点是简单、易维护而且开发成本低;缺点是用户的操作都集中在这一台服务器上,容易导致性能瓶颈, 出现单点故障,可用性差。随着系统用户数量的增加,业务的不断拓展,分布式数据架构成了一个更合适的选择。分布式数据架构 ......
463
0
0
2022-06-02
前言一个成熟的大型网站(如淘宝、京东等)的系统架构并不是开始设计就具备完整的高性能、高可用、安全等特性,它总是随着用户量的增加,业务功能的扩展逐渐演变完善的,在这个过程中,开发模式、技术架构、设计思想也发生了很大的变化,就连技术人员也从几个人发展到一个部门甚至一条产品线。所以成熟的系统架构是随业务扩展而完善出来的,并不是一蹴而就;不同业务特征的系统,会有各自 ......
374
0
0
2022-06-01