首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏SDNLAB

    互联网架构

    编者按:作者从计算机的架构说起,阐述了计算机架构的变革历程。由计算机到网络架构,是侧重终端还是侧重网络?这又引出了计算机厂商与电信运营商历史之战,20多年的纠葛以互联网的终端侧告胜。 1) 输入数据和程序的输入设备; 2) 记忆程序和数据的存储器; 3)完成数据加工处理的运算器; 4)控制程序执行的控制器;5)输出处理结果的输出设备。 互联网和PC一样,都是冯.诺伊曼架构的计算机,是这一架构的又一实现,又一成功案例。 移动互联网与PC互联网架构一致,甚至连扩展都几乎没有。云计算也只是冯.诺伊曼架构计算机的一个变种,数据中心就是计算机。 架构差异体现在要素细节处。 互联网中一些功能只能让终端去做,一些功能只能让网络去做,因此首先可以把互联网架构划分为终端和网络两大部分。但一些功能终端做得,网络也做得,重叠部分的麻烦来了。

    96550发布于 2018-04-04
  • 来自专栏爱敲代码的猫

    架构设计--互联网架构演化

    此时,架构显得清晰很多,但我们发现一个问题,就是系统对静态资源和动态资源的处理是完全不同的。 对于静态资源的处理,相对简单,只是简单的文件读写。 3 应用集群化部署 由于所有的动态请求全部由一台应用服务器进行处理,当访问量上升时,这台服务就成了系统的瓶颈。此时,我们需要将系统中的多个组件部署到不同的服务器上。 ? 此时,我们需要引入服务化架构。 8 服务化架构 我们可以将通用功能封装成一个服务,独立开发、独立部署、独立维护。 ? 相比之前的架构,变化很小,只是在各个业务服务间添加了另外的一种调用方式。 10 小结 冰冻三尺非一日之寒,一个大型系统的构建也不是一朝一夕的事情。 切记,架构不是越复杂越好,而是“适合自己的便是最好的“

    79920发布于 2019-10-16
  • 来自专栏运维之美

    谈谈互联网架构

    站在技术的角度来看,其实各个大型互联网公司的技术架构基本是一样的。再将视角放大,你会发现整个互联网行业的技术发展,最后都是殊途同归。 互联网的标准技术架构如下图所示,这张图基本上涵盖了互联网技术公司的大部分技术点,不同的公司只是在具体的技术实现上稍有差异,但不会跳出这个框架的范畴。 从数学的角度进行评估,可以发现系统间的依赖是呈指数级增长的:3个系统相互关联的路径为3条,6个系统相互关联的路径为15条。 服务层的主要目标其实就是为了降低系统间相互关联的复杂度。 但是当我们站在一个公司的的角度来思考架构的时候,单个系统的高可用和高性能并不等于整体业务的高可用和高性能,互联网业务的高性能和高可用需要从更高的角度去设计,这个高点就是“网络”。 具体拆的方式你可以查看专栏前面可扩展架构模式部分的分层架构、微服务、微内核等。 以一个简单的电商系统为例,如下图所示。 我这个模拟的电商系统经历了3个发展阶段: 第一阶段:所有功能都在1个系统里面。

    1.8K41发布于 2019-06-02
  • 来自专栏全栈程序员必看

    互联网架构演变

    一体架构 在计算机软件发展早期,一般桌面软件都是采用这种架构,不管是界面还是业务处理还是数据处理都放到一个包中。这种其实谈不上架构,但也可以说是很好的架构,因为它足够简单。 对于web系统,一体架构难以满足前后端分离的开发需求,因而便产生了MVC架构。 但随着应用规模的不断扩大,应用模块不断增加,整个应用也显得越来越臃肿,维护起来也更加困难,因此便又产生了多应用架构。 多应用架构 多应用架构很简单,就是把原来的应用按照业务特点拆分成多个应用。 分布式架构 对于一个大型的互联网系统,一般会包含多个应用,而且应用之间往往还存在共同的业务,并且应用之间还存在调用关系。 除此之外 ,对于大型的互联网系统还有一些其它的挑战,比如如何应对急剧增长的用户,如何管理好研发团队快速迭代产品研发,如何保持产品升级更加稳定等等 。

    51811编辑于 2022-08-04
  • 来自专栏肉眼品世界

    工业互联网体系架构

    近两年,工业互联网产业联盟连续发布了《工业互联网体系架构1.0》和《工业互联网体系架构2.0》,报告提出了工业互联网的内涵、目标、体系架构、关键要素和发展方向,并且调研了国内外上百家典型企业和机构。

    1.3K30发布于 2021-06-08
  • 来自专栏IT架构圈

    互联网架构』软件架构-解密电商系统-互联网BAT商品详情缓存架构(82)

    一起看下大型互联网关于商品详情的架构。源码: ? (一)讲解上图的的详细信息 这些架构是根据业务多年演变而来的,可不是最终就是这样的。 3.nginx(应用层)转发到缓存服务,类似tomcat的一个应用,缓存服务在实际的大型互联网公司肯定有很多台,都是水平扩展的。 (二)介绍本书 其实之前的几次关于互联网的技术方案,都是通过这个书【亿级流量网站架构核心技术】里面的内容分享出来的,我加入了自己的思路。 【亿级流量网站架构核心技术PDF】 链接:https://pan.baidu.com/s/1FOWxvd30iOd7KzR4COa-5g 提取码:o0oo PS:通过看的技术文章,在详细的看看这本书,其实互联网技术不过如此 ,自古真情留不住,唯有套路的人心,都是前人总结的解决问题的方案和套路,对于有互联网经验这本书还是很不错的,大大的拓宽技术经验,光看这本书的目录估计都被虎的一愣一愣的,其实都不复杂,都是一些经验,其实在互联网公司呆过这些都是常用的技术

    74720发布于 2019-06-17
  • 来自专栏IT架构圈

    互联网架构』软件架构-分布式架构(14)

    分布式服务的发展历程 J2EE架构 俗称JEE。对于大概有5年以上工作经验的老铁,应该都听过这个名词。基本分为3层。 Web Service 架构 互联网行业偏向于服务化,最流行的微服务起源于服务化,服务化最早体现在web service,web service 以IBM为首的各大公司制定的标准,webservice特点服务开发完毕后 在互联网里面如果不是高可用的,服务也不是最优化的。 ? ESB架构 企业服务总线,侧重于企业服务总线。 上边是提供的服务,下面是数据库数据源,消息队列,大数据,ERP。 微服务架构 最流行的架构,跟传统架构是一脉相承的,并不是矛盾的。采用的是分层的概念,上层的服务依赖下层的服务,基本两层,第一层:业务服务一;第二层:业务服务2,3,4。 犹豫在互联网高并发的线上。用户量非常大,上千,上万,上亿的,单体的服务架构和单体数据库很难撑起来这么大的量,所以就需要它们之前进行分而治之,在网上进行分开,进行分开,分片。

    1.2K20发布于 2019-03-19
  • 来自专栏IT架构圈

    互联网架构』软件架构-mysql主从(二)

    架构师的水平和经验了。 一致性和同步时间本身就是双刃剑,没有完全的通用解决方案,只能通过业务和性能综合考量选择最优解。 互联网主流的主从的方案 ? ? 一主一从,小公司使用比较多,并没有进行读写分离,slave节点主要是热备的。出现问题很快的恢复。 一主多从,小公司使用比较多,一般情况下都是一个master节点三到4个slave的节点, 3个slave节点中其中一个是太子,可以保证数据的一致性, 双主,比较变态,一般用不到,写性能非常高的时候可能会用双主 Atlas是由 Qihoo 360公司Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。 进入容器开启远程访问 docker container ls docker exec -it e2ca4d3cd633 /bin/bash mysql -uroot -pmasterpwd GRANT

    91230发布于 2019-03-04
  • 来自专栏IT架构圈

    互联网架构』软件架构-JVM(下)(27)

    Class加载器 JVM结束生命周期: 1.System.exit() 直接就退出了 2.正常运行完 3.异常中止 4.手动kill进程 加载 1.取得类的二进制字节流,通过类的全限定名称(包名+类名 3.在内存中生成代表这个类的java.lang,Class对象,这里是放在堆中。 static修饰)分配内存(方法区),并将启初始化改成默认值 解析 常量池中的引用替换为直接引用 初始化 1.如果这个类还没有被加载和链接,那就先加载和链接 2.如果类存在直接的父类,先初始化直接父类 3.

    54420发布于 2019-03-18
  • 来自专栏IT架构圈

    互联网架构』软件架构-JVM(上)(25)

    3.JVM(JavaVirtualMachine,Java虚拟机)是JRE的一部分。它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java语言最重要的特点就是跨平台运行。使用JVM就是为了支持与操作系统无关,实现跨平台。 JVM产品有哪些 HotSpot,Jrockit,J9 为什么出现JVM 1.C,C++是基于os架构,CPU架构。64位的版本在32位无法运行的。性能非常高,编写底层实现。 3.window上是dll程序,linux是.o的动态链接库。 ? JVM结构 1.类加载器 2.执行引擎 3.运行时数据区 4.本地接口 ? 由于还没有产生对象,实例变量不在此操作范围内) 被final修饰的静态变量,会直接赋予原值;类字段的字段属性表中存在ConstantValue属性,则在准备阶段,其值就是ConstantValue的值 (3)

    72330发布于 2019-03-18
  • 来自专栏IT架构圈

    互联网架构』软件架构-eureka集群(99)

    源码:https://github.com/limingios/netFuture/tree/master/源码/『互联网架构』软件架构-eureka集群(99)/ ? (一)eureka集群 上图是来自eureka的官方架构图,这是基于集群配置的eureka 处于不同节点的eureka通过Replicate进行数据同步 Application Service为服务提供者 : hostname: peer2 client: serviceUrl: defaultZone: http://peer1:8761/eureka/,http://peer3: 8763/eureka/---spring: profiles: peer3server: port: 8763eureka: instance: hostname: peer3 client 配置host文件修改:127.0.0.1 peer1 peer2 peer3 ?

    59840发布于 2019-07-08
  • 来自专栏IT架构圈

    互联网架构』软件架构-Eureka使用(92)

    上次说了单体架构和微服务之前优缺点的对比,也说了zookeeper和Eureka理论上的区别,也说了Eureka高水平的架构。 源码:https://github.com/limingios/netFuture/tree/master/源码/『互联网架构』软件架构-Eureka使用(92)/ ? <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w<em>3</em>.org/2001/XMLSchema-instance <artifactId>spring-cloud-dependencies</artifactId> <version>Edgware.SR<em>3</em>< <artifactId>spring-cloud-dependencies</artifactId> <version>Edgware.SR<em>3</em><

    69420发布于 2019-07-08
  • 来自专栏IT架构圈

    互联网架构』软件架构-nginx(上)(19)

    在一些互联网的创业公司刚开始技术的工种,并不是分的那么清楚,可能都要会的。环境的搭建,运维,框架搭建,开发都必须拿得下来。 upstream 参数 参数名称 描述 service 反向服务地址 加端口 weight 权重 max_fails 失败多少次 认为主机已挂掉则,踢出,默认是1次,企业一般配置2到3次,但是电商更加重视用户体验所以就是 hash(ip)%3 =index。弊端小区或者学校集中化的地方,他们出去的ip都是一致的,某个节点负载会非常非常的大。成为热点,有了ip_hash导致weight权重就失效了。 3.url_hash (第三方)应用场景:静态资源缓存,节约存储,加快速度 4.least_conn 最少链接 5.least_time 最小的响应时间,计算节点平均响应时间,然后取响应最快的那个,分配更高权重 location 1.root 后面的配置相当于把浏览器中的输入路径进行了重指 2.index 在前后端分离的基础上,指定网站初始页 3.proxysetheader 用来重定义发往后端服务器的请求头

    58330发布于 2019-03-19
  • 来自专栏IT架构圈

    互联网架构』软件架构-nginx(下)(20)

    1 2G tomcat1 Centos7 192.168.66.112 tomcat 1 2G tomcat2 Nginx如何实现高速缓存(一) 场景介绍 假设在做一个大型项目,面向全国的,公司对架构师的要求是做到 在上边图的架构,其实内网走了2次,一个是通过nginx访问商品的详情服务,一个是详情服务访问redis。 如果想解决上边的2次内网的通信最理想的方式,上图中的2个节点都不要就可以了。 /sbin/nginx 查看缓存路径 pwdcd /data/nginx/cache_item/3/cfls ? 清空缓存 看看效果 ? ? 修改了index.html ? PS:一般用nginx比较多就是反向代理,其实很多特殊的配置也是在大型互联网电商经常使用的。所以这个高速缓存和防盗链也是一个不错的功能。

    82740发布于 2019-03-19
  • 来自专栏IT架构圈

    互联网架构』软件架构-JVM(中)(26)

    会产生内存碎片,如果空间内存碎片太多,当程序产生大对象无法在堆中找到连续空间大小存放的时候,会强制发生GC

    55240发布于 2019-03-18
  • 来自专栏IT架构圈

    互联网架构』软件架构-电商系统架构(中)(70)

    docker的方式安装了nexus,gogs和正常的方式安装jenkins,下面一起说说tomcat的持续集成,和3者之前项目的贯通。接上节,请勿别单独看本节。 起个名字叫:3rd_part 自己定义的,后面上传你的时候需要。 ? ? nexus3的变化 ? jenkins的构建信息 ? 构建结果 ? 新建立的3rd_part仓库里已经上传成功 ? 几个重点需要注意点 0.这里使用的是nexus3,跟nexus2还是有区别的。特别是私服的settings.xml设置这块。

    85610发布于 2019-06-11
  • 来自专栏IT架构圈

    互联网架构』软件架构-电商系统架构(下)(71)

    上节从jenkins 和 nexus3 私服做了关联,通过github开放的一个源码,完成了从maven的构建到打包的过程,并上传到私服的私有仓库中。 这次主要自动化集成通过shell的方式完成从nexus3下载j私有仓库的war,部署到tomcat中。 jenkins+nexus3+gogs+tomcat搭建这套环境真心比较麻烦,但是理解了其实不难,搭建后还是一直可以受益的。重点还是需要实践。源码: ? 3.tomcat通过shell脚本的方式下载nexus中的war包。可选择的app-conf替换成服务器的配置文件,shell这块我注释了,可以选择的进行使用。 PS:电商系统的集成环境彻底搭建完毕,陆陆续续从虚拟机的搭建,到一个一个服务的部署,服务之前的关联耗时3天时间,总算完成了,下一步咱们继续电商系统的学习。

    75840发布于 2019-06-11
  • 来自专栏IT架构圈

    互联网架构』软件架构-电商系统架构(上)(69)

    com/2018/07/29/docker-zhongji-08/ 系统类型 IP地址 节点角色 CPU Memory Hostname Centos7 192.168.72.101 SI-gogs 2 3G SI-gogs Centos7 192.168.72.102 SI-jenkins 2 3G SI-jenkins Centos7 192.168.72.103 SI-nexus 2 3G SI-nexus 如果虚拟机重启的话,需要输入这个命令才可以启动jenkinscd /rootnohup java -jar jenkins.war --ajp13Port=-1 --httpPort=8888 & 3. docker安装Nexus(72.103) https://hub.docker.com/r/sonatype/nexus3 ? 从镜像库拉取 docker pull sonatype/nexus3 ?

    96020发布于 2019-06-05
  • 来自专栏肉眼品世界

    华为工业互联网体系架构

    60820编辑于 2022-03-25
  • 来自专栏企鹅号快讯

    互联网应用架构标准模型

    随着互联网的普及,越来越多的企业也开始往互联网化转型,相应的企业也要为此构建配套的互联网应用。软件架构方面,很多企业一味求快,而放弃很多需要坚持的原则,这会带来很多风险。 前台应用与后台应用分离原则 前台应用:是指直接供互联网用户使用的应用。 后台应用:是指供企业内部运营人员使用的应用,也有人叫内部管理系统,比如:CMS。 在应用架构上我们同样可以使用分层的思想来屏蔽复杂性,实现解耦和复用。 首先看下面架构图: 架构原则说明: 1、前台应用与后台应用分离:这里的分离不仅要求部署是分离的,业务相关的代码也是完全分离。 3、上图中的服务层,是最简单的情况。服务负责与数据库交互,并实现业务逻辑。在构建服务时,需要坚持以下原则: 一个服务只依赖一个数据库(同一数据库也只被一个前台服务和一个后台服务依赖)。 互联网应用架构需要遵守的原则还有很多,而前面提到的几个只是一些大原则,也是必须遵守的原则,也是比较容易落地的几个原则。

    1.8K00发布于 2017-12-28
领券