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

    课程实录丨解密互联网架构设计(2

    举个例子,这页PPT左边的应用架构图是我们公司最早期的一个系统架构图,整体看来其实也是按照不同的业务领域进行的一个设计,边界也比较清楚,包括进展、支付、风控、限购等等这些模块,你可以认为它就是一个一个领域 对于讯息方面的互联网行业来说,快人一步就是胜利。拆分之后用一句广告语来说就是:腰不酸了,腿不疼了,大家干活都有劲了。 实际上我认为面向服务设计能够支撑目前绝大多数公司的业务,即使是淘宝、支付宝这样巨无霸的公司,它们的架构本质也是一个属于服务化架构的范畴,没有超出服务化架构,虽然他们有很多一些匀化的东西,但它的也不足之处在于服务化会引入更多的复杂性 所以选择哪一种架构或者哪一种设计方式,其实是根据当前你所在企业业务的实际需要来的,千万不能盲目的去跟风,不能盲目的去选,不能因为某一种架构高大上,然后就一定要选它,肯定会出问题,要与你所在团队的能力相符 其次我认为比较重要一点是它的高性能,因为在互联网企业里面性能始终是一个非常重要的主题。

    42910发布于 2020-06-11
  • 来自专栏SDNLAB

    互联网架构

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

    98350发布于 2018-04-04
  • 来自专栏IT架构圈

    互联网架构』软件架构-Spring boot集成模板引擎swagger2实现(87)

    源码:https://github.com/limingios/netFuture/tree/master/源码/『互联网架构』软件架构-Spring boot集成模板引擎实现(86)/ ? 4.运行spring boot main,浏览器输入如下地址:http://localhost:8881/testFreemarker (二)集成Swagger2构建RESTful API文档 Swagger2 1.随项目自动生成强大RESTful API文档,减少工作量 2.API文档与代码整合在一起,便于同步更新API说明 3.页面测试功能来调试每个RESTful API 集成Swagger2步骤 1.修改pom.xml, 添加Swagger2依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2 2.创建Swagger2配置类 import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration

    65330发布于 2019-06-25
  • 来自专栏爱敲代码的猫

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

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

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

    谈谈互联网架构

    站在技术的角度来看,其实各个大型互联网公司的技术架构基本是一样的。再将视角放大,你会发现整个互联网行业的技术发展,最后都是殊途同归。 互联网的标准技术架构如下图所示,这张图基本上涵盖了互联网技术公司的大部分技术点,不同的公司只是在具体的技术实现上稍有差异,但不会跳出这个框架的范畴。 例如,一台32核64GB内存的机器,性能测试数据显示每秒处理Hello World的HTTP请求不超过2万,实际业务机器处理HTTP请求每秒可能才几百QPS,而互联网业务并发超过1万是比较常见的,遇到双十一 第二阶段:将商品和订单拆分到2个子系统里面。 第三阶段:商品子系统和订单子系统分别拆分成了更小的6个子系统。 2.权限控制 根据操作人员的身份确定操作权限,防止未经授权的人员进行操作。例如,不允许研发人员进入财务系统查看别人的工资。

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

    互联网架构演变

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

    55311编辑于 2022-08-04
  • 来自专栏可持续开发

    工业互联网2

    在文章”工业互联网”中,我提到了工业互联网需要分内部和外部形态,优秀的企业内部形态是实现外部互联互通的前提条件,如果企业内部都非常多的信息孤岛,又怎么能做好外部的连接工作呢,所以工业互联网实现的难度要远远高于消费 C端互联网,本文就重点讲解一下工业互联网的内部形态需要解决的问题和挑战。 工业企业流程多样化的问题 C端互联网的实现是标准统一化的,一个淘宝手机端,微信手机端可以服务10亿以上的用户,但工业互联网,每个节点都是多样化的。 ? 工业互联网需要企业信息化升级 工业互联网是企业管理软件领域的再次升级,但这必须是建立在企业完成内部信息化的基础上面的,而且如果只有大企业完成信息也,中小企业还在数字化低端水平,也无法真正实现工业互联网。 而这个信息化的过程不是简单的通过工业互联网云和APP就能解决的。 总之,工业互联网的实现,是需要踏踏实实的技术积累,和解决中小企业信息化难题,不能像消费互联网一样,靠资金推动就能短期内实现的。

    1.2K20发布于 2019-08-26
  • 来自专栏肉眼品世界

    工业互联网体系架构

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

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

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

    一起看下大型互联网关于商品详情的架构。源码: ? (一)讲解上图的的详细信息 这些架构是根据业务多年演变而来的,可不是最终就是这样的。 通过LVS负载后,转发到下面nginx(分发器),这里的nginx(分发器)只有2个,但是实际的环境下可能有多个水平的。 nginx(分发器)下面是通过hash转发到nginx(应用层),之前的nginx只有一层,现在的nginx搞了2层,为了是分片存储,大大提高本地缓存的利用率。 (二)介绍本书 其实之前的几次关于互联网的技术方案,都是通过这个书【亿级流量网站架构核心技术】里面的内容分享出来的,我加入了自己的思路。 【亿级流量网站架构核心技术PDF】 链接:https://pan.baidu.com/s/1FOWxvd30iOd7KzR4COa-5g 提取码:o0oo PS:通过看的技术文章,在详细的看看这本书,其实互联网技术不过如此

    77320发布于 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节点主要是热备的。出现问题很快的恢复。 Atlas是由 Qihoo 360公司Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。 2G atlas-proxy Centos7 192.168.66.102 master 2 2G master Centos7 192.168.66.103 slave 2 2G slave 三台机器 在slave主机上这2个都为yes才算配置成功。 ?

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

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

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

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

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

    2.VMWare,VisualBox它是一个完完整整可以提供一个虚拟主机的PC,这种虚拟机上边必须安装操作系统的,它是模拟物理主机的CPU的指令集。 JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java语言最重要的特点就是跨平台运行。使用JVM就是为了支持与操作系统无关,实现跨平台。 JVM产品有哪些 HotSpot,Jrockit,J9 为什么出现JVM 1.C,C++是基于os架构,CPU架构。64位的版本在32位无法运行的。性能非常高,编写底层实现。 2.JAVA可以一次编写到处运行,移植性好。 JVM结构 1.类加载器 2.执行引擎 3.运行时数据区 4.本地接口 ? ClassLoader类加载器 JVM加载的是.class文件。

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

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

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

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

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

    上次说了单体架构和微服务之前优缺点的对比,也说了zookeeper和Eureka理论上的区别,也说了Eureka高水平的架构。 源码:https://github.com/limingios/netFuture/tree/master/源码/『互联网架构』软件架构-Eureka使用(92)/ ? zone 可以简单理解为region内的具体机房,比如说region划分为北京,然后北京有两个机房,就可以在此region之下划分出zone1,zone2两个zone。 ?

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

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

    系统类型 IP地址 节点角色 CPU Memory Hostname Centos7 192.168.66.110 nginx 1 2G nginx Centos7 192.168.66.111 tomcat 1 2G tomcat1 Centos7 192.168.66.112 tomcat 1 2G tomcat2 Nginx如何实现高速缓存(一) 场景介绍 假设在做一个大型项目,面向全国的,公司对架构师的要求是做到 在上边图的架构,其实内网走了2次,一个是通过nginx访问商品的详情服务,一个是详情服务访问redis。 如果想解决上边的2次内网的通信最理想的方式,上图中的2个节点都不要就可以了。 ;2、为指定location 设定缓存策略。 PS:一般用nginx比较多就是反向代理,其实很多特殊的配置也是在大型互联网电商经常使用的。所以这个高速缓存和防盗链也是一个不错的功能。

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

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

    在一些互联网的创业公司刚开始技术的工种,并不是分的那么清楚,可能都要会的。环境的搭建,运维,框架搭建,开发都必须拿得下来。 2.反向代理:是用来代理服务器的,代理我们要访问的目标服务器。 1 2G tomcat1 Centos7 192.168.66.112 tomcat 1 2G tomcat2 ? 因为权重相同,所以轮播111 和 112 2个tomcat ? ? *负载均衡算法 1.ll+weight 默认的负载算法,其实就是根据权重才分配服务请求。 2.ip_hash 基于Hash 计算 应用场景:保持session 一至性,第一次访问那台,一直是同一台。hash(ip)%3 =index。

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

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

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

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

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

    jdk1.8 yum install -y wget wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F %2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java 2.jenkins中的maven配置私服地址(192.168.72.102) 在虚拟机内查看maven的配置地址Nexus3.x,配置跟nexus2不同。源码中有下载好的settings.xml。 https://repo1.maven.org/maven2/ ? ? 增加第三方库,为的是生成的jar或者war包,可以上传到私服上。 几个重点需要注意点 0.这里使用的是nexus3,跟nexus2还是有区别的。特别是私服的settings.xml设置这块。

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

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

    2个地方需要进行修改。 1.地址更换(实际开发的使用用gogs上面的) https://github.com/Zoutao6/examination_system-.git ? 2.nexus获取上传war包的地址(192.168.73.103) ? ? ? ? http://192.168.72.103:8081/repository/3rd_part/com/test/example/1.0.0/example-1.0.0.war 2.构建后的shell改变 com.test -DartifactId=example -Dversion=1.0.0 -Dpackaging=war -Dfile=/root/.jenkins/workspace/abc-test2/ 2.jenkins和nexus之前的关联,通过连接github下载源码,然后讲源码进行打包上传到nexus的指定仓库中。 3.tomcat通过shell脚本的方式下载nexus中的war包。

    78340发布于 2019-06-11
领券