自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

water Wang

每个人都会有觉醒期,只是来的晚或者早罢了。

  • 博客(35)
  • 资源 (16)
  • 论坛 (1)
  • 收藏
  • 关注

原创 技术架构文章汇总

前言(1):服务端高并发分布式架构演进之路前言(2):什么是微服务?前言(3):分布式的坑1. 大型网站架构演化2.大型网站架构演化的价值观3 网站架构设计误区4 网站架构模式5 大型网站核心架构要素6 网站性能测试7 Web前端性能优化8 应用服务器性能优化9 存储性能优化10 网站可用性的度量与考核11 高可用的网站架构12 高可用的应用13 高可用的服务14 高可用的数据15 高可用网站的软件质量保证16 网站运行监控17 网站架构的伸缩性设计18 应用服务器集

2021-05-19 17:35:43 2726 4

原创 30 网站架构师职场攻略

对于网站和软件企业而言,架构师是一个重要的角色。对于公司,架构师引领公司 的技术方向,架构师的眼界和高度决定了公司的技术高度;对于技术团队,架构师的决 策和技术方案影响工程师的开发模式和工作量。一个称职的架构师是公司的宝贵财富, 而一个不合格的架构师可能会成为开发团队的梦魇,所谓将无能,累死三军。对于大型网站而言,公司有很多架构师,他们的角色、能力和影响力各不相同,大 致可分为以下几类。这些分类方式是非正式的,仅供诸位看官一乐,读者请勿以此给自 己所在公司的架构师贴标签。1 按作用划分架构师设.

2021-05-18 22:19:58 2900 2

原创 29 架构师领导艺术

有一次,笔者以架构师的角色参与某个软件产品的开发,产品经过一年多的发展, 已经发布了 2.0版本,并在一些企业用户中成功实施。项目后期,由于产品整体架构设计 比较合理,各个功能模块的扩展性良好,架构师基本没有什么事情可做,加上一些其他 因素,笔者打算辞职。但是当跟项目组成员宣布辞职的时候,大家很吃惊,纷纷表示挽留“你怎么可以走 呢,你走了,我们怎么办呢? ”我说“其实你们已经不需要我了,2.0版本新的功能架构都是你们自己设计的,最近 两个月技术讨论会上,我甚至都不发言了,你们不是做的一样很好? ”但.

2021-05-18 18:02:41 2945

原创 28 电子商务风险控制

电子商务网站在给人们带来购物交易的极大便利的同时,也将风险带给了对网络安 全一无所知的人们。由于买卖双方的信息不对等,交易本来就存在风险,而当交易在网 上发生时,买卖双方彼此一无所知,交易风险也就更加难以控制。如果一个电商网站骗 子横行,诚信的交易者屡屡被骗,那么网站就到了最危险的时候,可以说,交易安全是电子商务网站的底线。1 风险电子商务具有多种形式,B2B、B2C、C2C每种交易的场景都不相同,风险也各有特点,大致可分为以下几种。账户风险:包括账户被黑客盗用,恶意注册账号等几种情形。买家风.

2021-05-18 14:51:28 2975 8

原创 27 信息过滤与反垃圾

我国的信息过滤技术是走在世界前列的,尽管如此,在各种社区网站和个人邮箱中, 广告和垃圾信息仍然屡见不鲜、泛滥成灾。常用的信息过滤与反垃圾手段有以下几种。1 文本匹配文本匹配主要解决敏感词过滤的问题。通常网站维护一份敏感词列表,如果用户发 表的信息含有列表中的敏感词,则进行消毒处理(将敏感词转义为***)或拒绝发表。那么如何快速地判断用户信息中是否含有敏感词呢?如果敏感词比较少,用户提交 信息文本长度也较短,可直接使用正则表达式匹配。但是正则表达式的效率一般较差, 当敏感词很多,用户发布的信息也很.

2021-05-18 09:29:49 2931

原创 26 信息加密技术及密钥安全管理

2011年12月被曝的CSDN密码泄露事故中,网站安全措施不力,导致用户数据库被 黑客“拖库”并不稀奇,令人错愕的是数据库中的用户密码居然是明文保存,导致密码 泄露,成为地下黑市交易的商品。通常,为了保护网站的敏感数据,应用需要对这些信息进行加密处理,信息加密技 术可分为三类:单项散列加密、对称加密和非对称加密。1 单向散列加密单向散列加密是指通过对不同输入长度的信息进行散列计算,得到固定长度的输出,这个散列计算过程是单向的,即不能对固定长度的输出进行计算从而获得输入信息,如 图8.6所示。.

2021-05-17 23:49:09 2989

原创 25 网站应用攻击与防御

从互联网诞生起,安全威胁就一直伴随着网站的发展,各种Web攻击和信息泄露也从未停止。2011年中国互联网领域爆出两桩比较大的安全事故,一桩是新浪微博遭XSS 攻击,另一桩是以CSDN为代表的多个网站泄露用户密码和个人信息。特别是后者,因 为影响人群广泛,部分受影响网站涉及用户实体资产和交易安全,一时成为舆论焦点。让我们先回顾一下这两起事故。2011年6月28日,许多微博用户发现自己“中毒”,自动关注了一个叫hellosamy的 用户,并发布含有病毒的微博,粉丝点击后微博再度扩散,短时间内大量用户中招,.

2021-05-17 21:49:30 2980

原创 24 利用幵放平台建设网站生态

网站的价值在于为他的用户创造价值,淘宝的价值在于为人们创造交易的平台;QQ 的价值在于为人们创造交流的平台;新浪微博的价值在于为人们创造表达自我的平台。 只有用户得到了他们想要的价值,他们才愿意使用网站的服务,网站的存在才有意义。 但是淘宝有上千万卖家和数亿买家,光靠淘宝一个公司不可能满足所有用户的需求,同 样,腾讯、新浪微博也无法面面俱到照顾好如此庞大的用户群。另一方面,用户却不需要为网站提供的价值而买单。没有人需要为自己在QQ上聊天, 在淘宝上购物,在新浪发微博而付费。网站必须提供更多的增值服务才能.

2021-05-17 18:43:25 2955

原创 23 可扩展的数据结构

传统的关系数据库为了保证关系运算(通过SQL语句)的正确性,在设计数据库表 结构的时候,就需要指定表的schema——字段名称,数据类型等,并要遵循特定的设计 范式。这些规范带来的一个问题就是僵硬的数据结构难以面对需求变更带来的挑战,有 些应用系统设计者通过预先设计一些冗余字段来应对,不过显然这是一种糟糕的数据库 设计。那么有没有办法能够做到可扩展的数据结构设计呢?无需修改表结构就可以新增字 段呢?许多NoSQL数据库使用的ColumnFamily (列族)设计就是一个解决方案。 ColumnFamily

2021-05-17 17:11:17 2982

原创 22 利用分布式服务打造可复用的业务平台

使用分布式服务是降低系统耦合性的另一个重要手段。如果说分布式消息队列通过 消息对象分解系统耦合性,不同子系统处理同一个消息;那么分布式服务则通过接口分 解系统耦合性,不同子系统通过相同的接口描述进行服务调用。回顾网站架构发展历程,网站在由小到大的演化过程中,表现为整个网站是由单一 应用系统逐步膨胀发展变化而来,随着网站功能的日益复杂,网站应用系统会逐渐成为 一个巨无霸,如图7.3所示。一个应用中聚合了大量的应用和服务组件,这个巨无霸给整个网站的开发、维护、部署都带来了巨大的麻烦。巨无霸应用系统带来如

2021-05-17 15:45:05 2996

原创 21 利用分布式消息队列降低系统耦合性

国内某大型互联网企业经常因为对同行的产品进行微创新,然后推岀自己的产品而遭人诟病,不讨论这种做法是否合适,我们分析这些产品,发现大多数都比原创产品有 更好的用户体验。这些产品常常后来居上,更速度地推岀新功能,吸引用户注意,进而 占据市场。微信从发布到拥有1亿用户,仅仅用了一年的时间。而据说摇一摇这个功能是两个 实习生用一个星期就开发完成上线的。使用TOP( Taobao Open API ), 一个技术熟练的淘宝客网站开发工程师只需要用几个 晚上的业余时间就可以开发部署一个炫目的购物导购网站。如此轻易

2021-05-17 13:57:15 3024

原创 20 数据存储服务器集群的伸缩性设计

和缓存服务器集群的伸缩性设计不同,数据存储服务器集群的伸缩性对数据的持久 性和可用性提出了更高的要求。缓存的目的是加速数据读取的速度并减轻数据存储服务器的负载压力,因此部分缓 存数据的丢失不影响业务的正常处理,因为数据还可以从数据库等存储服务器上获取。而数据存储服务器必须保证数据的可靠存储,任何情况下都必须保证数据的可用性 和正确性。因此缓存服务器集群的伸缩性架构方案不能直接适用于数据库等存储服务器。 存储服务器集群的伸缩性设计相对更复杂一些,具体说来,又可分为关系数据库集群的 伸缩性设计和NoSQL.

2021-05-12 10:25:30 2992 2

原创 19 分布式缓存集群的伸缩性设计

不同于应用服务器集群的伸缩性设计,分布 式缓存集群的伸缩性不能使用简单的负载均衡手段来实现。和所有服务器都部署相同应用的应用服务器集群不同,分布式缓存服务器集群中不同服务器中缓存的数据各不相同,缓存访问请求不可以在缓存服务器集群中的任意一台 处理,必须先找到缓存有需要数据的服务器,然后才能访问。这个特点会严重制约分布 式缓存集群的伸缩性设计,因为新上线的缓存服务器没有缓存任何数据,而已下线的缓 存服务器还缓存着网站的许多热点数据。必须让新上线的缓存服务器对整个分布式缓存集群影响最小,也就是说新加入..

2021-05-11 23:59:20 2974

原创 18 应用服务器集群的伸缩性设计

前面提到,应用服务器应该设计成无状态的,即应用服务器不存储请 求上下文信息,如果将部署有相同应用的服务器组成一个集群,每次用户请求都可以发 送到集群中任意一台服务器上去处理,任何一台服务器的处理结果都是相同的。这样只 要能将用户请求按照某种规则分发到集群的不同服务器上,就可以构成一个应用服务器 集群,每个用户的每个请求都可能落在不同的服务器上。如图6.4所示。如果HTTP请求分发装置可以感知或者可以配置集群的服务器数量,可以及时发现 集群中新上线或下线的服务器,并能向新上线的服务器分发请求,停止向已下线.

2021-05-11 22:55:35 2989 2

原创 17 网站架构的伸缩性设计

所谓网站的伸缩性是指不需要改变网站的软硬件设计,仅仅通过改变部署的服务器数量就可以扩大或者缩小网站的服务处理能力。京东网(www.360buy.com )在2011年年末的图书促销活动中,由于优惠幅度大引得 大量买家访问,结果导致网站服务不可用,大部分用户在提交订单后,页面显示“Serviceis too busy\当天晚上,京东网老板刘强东在微博发布消息称,已购买多台服务器以增加交易处理能力,第二天继续促销一天。结果第二天,用户在提交订单后,页面继续是"Service is too busy"o显.

2021-05-11 21:51:22 2952 2

原创 16 网站运行监控

“不允许没有监控的系统上线”,这是许多网站架构师在做项目上线评审时常说的一 句话。网站运行监控对于网站运维和架构设计优化至关重要,运维没有监控的网站,犹如驾驶没有仪表的飞机。盲人骑瞎马,夜半临深渊而不知,生死尚且未卜,提高可用性、 减少故障率就更无从做起了。1 监控数据采集广义上的网站监控涵盖所有非直接业务行为的数据采集与管理,包括供数据分析师 和产品设计师使用的网站用户行为日志、业务运行数据,以及供运维工程师和开发工程 师使用的系统性能数据等。用户行为日志收集用户行为日志指用户在浏览..

2021-05-11 17:17:10 2971

原创 15 高可用网站的软件质量保证

在网站运维实践中,除了网络、服务器等硬件故障导致的系统可用性风险外,还有 来自软件系统本身的风险。关于传统的软件测试和软件质量保证管理无需赘言,本节重点讨论网站为了保证线 上系统的可用性而采取的一些与传统软件开发不同的质量保证手段。1 网站发布网站需要保证7x24高可用运行,同时网站又需要不断地发布新功能吸引用户以保证 在激烈的市场竞争中获得成功。许多大型网站每周都需要发布一到两次,而中小型网站 则更加频繁,一些处于快速发展期的网站甚至每天发布十几次。不管发布的新功能是修改了一个按钮的布局还是增.

2021-05-11 15:55:13 2969

原创 14 高可用的数据

对许多网站而言,数据是其最宝贵的物质资产,硬件可以购买,软件可以重写,但是多年运营积淀下来的各种数据(用户数据、交易数据、商品数据……),代表着历史, 已经成为过往,不能再重来,一旦失去,对网站的打击可以说是毁灭性的,因此可以说, 保护网站的数据就是保护企业的命脉。不同于高可用的应用和服务,由于数据存储服务器上保存的数据不同,当某台服务 器宕机的时候,数据访问请求不能任意切换到集群中其他的机器上。保证数据存储高可用的手段主要是数据备份和失效转移机制。数据备份是保证数据 有多个副本,任意副本的失效都..

2021-05-11 10:57:41 3224

原创 13 高可用的服务

可复用的服务模块为业务产品提供基础公共服务,大型网站中这些服务通常都独立 分布式部署,被具体应用远程调用。可复用的服务和应用一样,也是无状态的服务,因 此可以使用类似负载均衡的失效转移策略实现高可用的服务。除此之外,具体实践中,还有以下几点高可用的服务策略。分级管理运维上将服务器进行分级管理,核心应用和服务优先使用更好的硬件,在运维响应 速度上也格外迅速。显然,用户及时付款购物比能不能评价商品更重要,所以订单、支 付服务比评价服务有更高优先级。同时在服务部署上也进行必要的隔离,避免故障的连..

2021-05-10 22:25:17 2981

原创 12 高可用的应用

应用层主要处理网站应用的业务逻辑,因此有时也称作业务逻辑层,应用的一个显 著特点是应用的无状态性。所谓无状态的应用是指应用服务器不保存业务的上下文信息,而仅根据每次请求提 交的数据进行相应的业务逻辑处理,多个服务实例(服务器)之间完全对等,请求提交到任意服务器,处理结果都是完全一样的。1 通过负载均衡进行无状态服务的失效转移不保存状态的应用给高可用的架构设计带来了巨大便利,既然服务器不保存请求的 状态,那么所有的服务器完全对等,当任意一台或多台服务器宕机,请求提交给集群中 其他任意一台可用机器处理,

2021-05-10 21:04:09 3019

原创 11 高可用的网站架构

通常企业级应用系统为提高系统可用性,会采用较昂贵的软硬件设备,如IBM的小 型机乃至中型机大型机及专有操作系统、Oracle数据库、EMC存储设备等。互联网公司 更多地采用PC级服务器、开源的数据库和操作系统,这些廉价的设备在节约成本的同时 也降低了可用性,特别是服务器硬件设备,低价的商业级服务器一年宕机一次是一个大 概率事件,而那些高强度频繁读写的普通硬盘,损坏的概率则要更高一些。既然硬件故障是常态,网站的高可用架构设计的主要目的就是保证服务器硬件故障 时服务依然可用、数据依然保存并能够被访问。实.

2021-05-09 22:49:23 3047 4

原创 10 网站可用性的度量与考核

2011年4月12 B ,亚马逊云计算服务EC2 ( Elastic Computer Cloud )发生故障,其 ESB ( Elastic Block Storage )服务不可用,故障持续了数天,最终还是有部分数据未能恢 复。这一故障导致美国许多使用亚马逊云服务的知名网站(如:Foursquare, Quora )受 到影响,并引发了人们对使用云计算安全性、可靠性的大规模讨论。2010年1月12日,百度被黑客攻击,其DNS域名被劫持,导致百度全站长达数小时不可访问。该事件一时成为新闻焦点,各种媒.

2021-05-08 18:02:56 2974 2

原创 9 存储性能优化

在网站应用中,海量的数据读写对磁盘访问造成巨大压力,虽然可以通过Cache解 决一部分数据读压力,但是很多时候,磁盘仍然是系统最严重的瓶颈。而且磁盘中存储 的数据是网站最重要的资产,磁盘的可用性和容错性也至关重要。1 机械硬盘vs.固态硬盘机械硬盘是目前最常用的一种硬盘,通过马达驱动磁头臂,带动磁头到指定的磁盘位置访问数据,由于每次访问数据都需要移动磁头臂,因此机械硬盘在数据连续访问(要访问的数据存储在连续的磁盘空间上)和随机访问(要访问的数据存储在不连续的磁盘空间)时,由于移动磁头臂的次数..

2021-05-08 17:24:28 2965

原创 8 应用服务器性能优化

应用服务器就是处理网站业务的服务器,网站的业务代码都部署在这里,是网站开发最复杂,变化最多的地方,优化手段主要有缓存、集群、异步等。1 分布式缓存回顾网站架构演化历程,当网站遇到性能瓶颈时,第一个想到的解决方案就是使用 缓存。在整个网站应用中,缓存几乎无所不在,既存在于浏览器,也存在于应用服务器 和数据库服务器;既可以对数据缓存,也可以对文件缓存,还可以对页面片段缓存。合 理使用缓存,对网站性能优化意义重大。网站性能优化第一定律:优先考虑使用缓存优化性能。缓存的基本原理缓存指将数据存储.

2021-05-08 16:16:25 3023 6

原创 7 Web前端性能优化

一般说来Web前端指网站业务逻辑之前的部分,包括浏览器加载、网站视图模型、图片服务、CDN服务等,主要优化手段有优化浏览器访问、使用反向代理、CDN等。1 浏览器访问优化减少http请求HTTP协议是无状态的应用层协议,意味着每次HTTP请求都需要建立通信链路、进行数据传输,而在服务器端,每个HTTP都需要启动独立的线程去处理。这些通信和服务的开销都很昂贵,减少HTTP请求的数目可有效提高访问性能。减少HTTP的主要手段是合并CSS、合并JavaScript.合并图片。将浏览器一次访问需..

2021-05-08 15:04:50 3002 4

原创 6 网站性能测试

什么叫高性能的网站?两个网站性能架构设计方案:A方案和B方案,A方案在小于100个并发用户访问时,每个请求的响应时间是1秒,当并发请求达到200的时候,请求的响应时间将骤增到10秒。B方案不管是100个并发用户访问还是200个并发用户访问,每个请求的响应时间都差不多是1.5秒。哪个方案的性能好?如果老板说“我们要改善网站的性能”,他指的是什么?同类型的两个网站,X网站服务器平均每个请求的处理时间是500毫秒,Y网站服务器平均每个请求的处理时间是1000毫秒,为什么用户却反映Y网站的速度快呢?.

2021-05-08 13:54:30 2961 2

原创 5 大型网站核心架构要素

关于什么是架构,一种比较通俗的说法是“最高层次的规划,难以改变的决定”,这 些规划和决定奠定了事物未来发展的方向和最终的蓝图。从这个意义上说,人生规划也是一种架构。选什么学校、学什么专业、进 什么公司、找什么对象,过什么样的生活,都是自己人生的架构。具体到软件架构,维基百科是这样定义的:“有关软件整体结构与组件的抽象描述, 用于指导大型软件系统各个方面的设计”。系统的各个重要组成部分及其关系构成了系统的架构,这些组成部分可以是具体的功能模块,也可以是非功能的设计与决策,他们相 互关系组成一个整体,共同.

2021-05-08 11:59:48 2921 2

原创 4 网站架构模式

为了解决大型网站面临的高并发访问、海量数据处理、高可靠运行等一系列问题与挑战,大型互联网公司在实践中提出了许多解决方案,以实现网站高性能、高可用、易伸缩、可扩展、安全等各种技术架构目标。这些解决方案又被更多网站重复使用,从 而逐渐形成大型网站架构模式。1 分层分层是企业应用系统中最常见的一种架构模式,将系统在横向维度上切分成几个部 分,每个部分负责一部分相对比较单一的职责,然后通过上层对下层的依赖和调用组成 一个完整的系统。分层结构在计算机世界中无处不在,网络的7层通信协议是一种分层结构;..

2021-05-08 09:01:57 2925 2

原创 3 网站架构设计误区

在大型网站架构发展过程中有如下几个容易岀现的误区。1 一味追随大公司的解决方案由于大公司巨大成功的光环效应,再加上从大公司挖来的技术高手的影响,网站在 讨论架构决策时,最有说服力的一句话就成了“淘宝就是这么搞的”或者“Facebook就 是这么搞的”。大公司的经验和成功模式固然重要,值得学习借鉴,但如果因此而变得盲从,就失 去了坚持自我的勇气,在架构演化的道路上迟早会迷路。2 为了技术而技术网站技术是为业务而存在的,除此毫无意义。在技术选型和架构设计中,脱离网站业务发展的实际,一味追求时髦的

2021-05-07 21:36:58 2921

原创 2.大型网站架构演化的价值观

这个世界没有哪个网站从诞生起就是大型网站;也没有哪个网站第一次发布就拥有 庞大的用户,高并发的访问,海量的数据;大型网站都是从小型网站发展而来。网站的 价值在于它能为用户提供什么价值,在于网站能做什么,而不在于它是怎么做的,所以 在网站还很小的时候就去追求网站的架构是舍本逐末,得不偿失的。小型网站最需要做 的就是为用户提供好的服务来创造价值,得到用户的认可,活下去,野蛮生长。所以我们看到,一方面是随着互联网的高速发展,越来越多新的软件技术和产品从 互联网公司诞生,挑战传统软件巨头的江湖地位。另一方面却.

2021-05-07 17:58:32 2923

原创 1. 大型网站架构演化

如果把上世纪90年代初CERN正式发布Web标准和第一个Web服务的岀现当做互 联网站的开始,那么互联网站的发展只经历了短短20多年的时间。在20多年的时间里, 互联网的世界发生了巨大变化,今天,全球有近一半的人口使用互联网,人们的生活因 为互联网而产生了巨大改变。从信息检索到即时通信,从电子购物到文化娱乐,互联网 渗透到生活的每个角落,而且这种趋势还在加速。因为互联网,我们的世界正变得越来 越小。同时我们也看到,在互联网跨越式发展的进程中,在电子商务火热的市场背后却是 不堪重负的网站架构,某些B2C网站

2021-05-07 09:15:27 2966

原创 docker(18):Docker部署SpringBoot项目

1. 编写springboot项目里面随便写一个rest接口,返回字符串"Hello Docker!"import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class DockerController { @RequestMapping("/")

2021-05-06 21:09:31 3730 18

转载 docker(17):5 个好用的 Docker 图形化管理工具

你平时是怎么管理 Docker 容器的?还在使用一大堆的窗口和命令吗?Docker 有不少好用的图形化管理客户端,可以简化我们的工作,提供效率。下面介绍5个比较流行的 Docker 客户端工具。PortainerPortainer 是开源的,是 Web 应用的形式。github 上项目地址:https://github.com/portainer/portainer官网地址:https://www.portainer.io支持的系统:Linux, Mac OS X, Windows。功

2021-05-06 19:57:31 2990 2

原创 docker(16):Portainer范例:安装WordPress

1. 安装WordPress容器进入到 Portainer 页面,选择左边的 Containers 选项,单击上方的 Add container 按钮转到如图所示的页面;在 Name 一栏中输入容器名字;在 Image 一栏输入容器镜像名,比如要安装 wordpress 则输入 wordpress 即可,系统会自动拉取 wordpress 的容器镜像;设置端口,如果开启 Publish all exposed ports 开关,系统会随机开启一个端口映射到容器端口。另外也可点击 map addi

2021-05-06 17:11:18 2984 2

转载 docker(14):什么是 Docker可视化面板-Portainer

Portainer是Docker的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能。功能十分全面,基本能满足中小型单位对容器管理的全部需求。Portainer是一个轻量级的docker环境管理UI,可以用来管理docker宿主机和docker swarm集群。他的轻量级,轻量到只要个不到100M的docker镜像容器就可以完整的提供服务。直接.

2021-05-06 14:56:01 2934 2

大型网站技术架构.xmind

大型网站技术架构

2021-05-19

JVM脑图-必须名称要十个字

JVM脑图

2021-03-11

kingbase8-8.2.0.jar

kingbase8-8.2.0.jar,是链接人大金仓数据库的jar文件

2021-01-13

java-pdf.rar

java-pdf.rar

2021-03-11

redis-PDF.rar

redis-PDF.rar

2021-03-11

ePass1000ND 开发包.rar

对ukey中双向认证的key进行正删查,ukey插上电脑后自动识别ukey中的证书

2020-10-14

https双向认证ukey管理软件

https双向认证ukey管理软件

2020-10-14

mysql-5.5.20-winx64

mysql-5.5.20-winx64

2016-09-01

mysql_5.6.24_winx64

mysql_5.6.24_winx64

2016-09-01

测试驱动开发(中文完整版-带书签)

测试驱动开发(中文完整版-带书签)

2016-08-30

clean_code(中文完整版)

clean_code(中文完整版)

2016-08-26

单元测试之道Java版:使用JUnit

单元测试之道Java版:使用JUnit

2016-08-30

Pragmatic Unit Testing

Pragmatic Unit Testing

2016-08-30

navicat for mysql破解版

先安装navicat,然后执行patch navicat指向navicat.exe

2016-07-25

sqlyog10绿色版

sqlyog10绿色版

2016-07-25

Navicat for MySQL绿色版

Navicat for MySQL绿色版

2016-09-01

water___Wang的留言板

发表于 2020-01-02 最后回复 2020-01-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除