摘要:
当今的架构领域,已经从先前的门派林立、各种思想和概念混杂的基础探索时期,演 化成为了这样两个重要的潮流:一个是开始大量使用架构描述语言(ADL)及其相应辅助 工具;另一个是全范围地接受产品线架构方法论。 1.架构描述语言及辅助工具 业界现在已经普遍认识到,先前通过使用一些非正式的图表来表达一个系统结 阅读全文
posted @ 2019-12-05 22:13
mongotea
阅读(340)
评论(0)
推荐(0)
摘要:
构建符合上述特征要求的软件系统产品线,对以往的系统开发确实是一个严峻的挑战。 如果仅仅使用传统的系统开发方式,则很难满足产品线开发的要求。如图8-1所示,如果 —个公司决定将其现有的软件系统产品进行产品线化工作,则需要在六个主要方面采取相应的变革,我们称之为产品线架构变革过程模型,简称为PLAEM模 阅读全文
posted @ 2019-12-05 22:12
mongotea
阅读(1764)
评论(0)
推荐(1)
摘要:
从20世纪90年代开始,由于系统架构的全方位兴起(例如面向对象的架构技术、构 件技术、架构与设计模式等),越来越多的从业人员认识到提高架构和设计质量的重要性。 这使得架构评审得到了飞跃式的演化。通过近十几年的发展,架构评审己经有了长足的进 步。我们现在可以看到业界许多体系化的架构评审方法和评审技术, 阅读全文
posted @ 2019-12-05 22:11
mongotea
阅读(4723)
评论(0)
推荐(0)
摘要:
根据业界的统计数据显示,在一个软件系统从开始研发到最终消亡的整个生命周期过 程中,前期的架构、设计、编码、测试所付出的成本及代价只占所有系统相关工作的 20%~40%。绝大部分的工作重点,还需要花费到系统投入生产的后续维护和在以往系统上 进行的升级工作上。 与此形成鲜明对比的是,系统开发行业,尤其是 阅读全文
posted @ 2019-12-05 22:11
mongotea
阅读(1716)
评论(1)
推荐(0)
摘要:
4.以测试为驱动 “Only testing can prove the ultimate software quality” 是一句大家都知道的名言。这 意味着,作为衡量一个系统品质的最好方法就是进行髙质量的系统测试。虽然进行测试这 项工作,并不是架构师和设计人员分内的职责。但是,作为系统的主要技 阅读全文
posted @ 2019-12-05 22:10
mongotea
阅读(646)
评论(1)
推荐(0)
摘要:
本系列的文章是自己在边学习购买的书籍《软件架构的艺术》时,边记录下来的,用于加深学习效果和以后的回顾,如若侵权,请告知,我会及时删除。 阅读全文
posted @ 2019-12-05 22:09
mongotea
阅读(243)
评论(0)
推荐(0)
摘要:
商业架构概念的完成,能够有效地帮助系统架构人员全面、清晰、准确地构建一个商 业所涉及的内部及外部各种重要的概念:组织结构划分、人员角色及职能分工、业务流程 组成、业务活动顺序、业务信息交换与信息依赖、业务规则要求等静态及动态商业特征。 通过商业架构概念的构建,系统架构人员已经完全具备了该商业领域的相 阅读全文
posted @ 2019-12-05 22:07
mongotea
阅读(559)
评论(0)
推荐(0)
摘要:
从软件工程发展的历史来看,我们可以看到许多各式各样耳熟能详的流程或模型:例 如瀑布式软件开发流程、迭代式的RUP、敏捷开发流程、CMM/CMMI、各个公司自己定制 的流程等。但是,无论是哪种软件开发流程,无论其使用了怎样的用词和行文来表述流程, 基本上都遵循了 “V-Model”这个著名的软件开发流 阅读全文
posted @ 2019-12-05 22:05
mongotea
阅读(769)
评论(0)
推荐(0)
摘要:
提供高效的帮助和引导。具体而言,架构师的工作内容主要包括: ♦冷静和系统地平衡功能与性能的要求,分析软件系统盾量的要求和其他系统特征。 #控制和处理有关系统粒度、范围、包含、连接和耦合的问題。 澄清接口策略,制定接口架构约束原則。 ^计划系统资源分配与调度原则。 •稳定业务关系模型(实体、关系、协同 阅读全文
posted @ 2019-12-05 22:01
mongotea
阅读(223)
评论(0)
推荐(0)
摘要:
■ 2.1软件架构师的定义、分类和职责 从1985年开始,在过去二十多年中,关于什么是“软件架构(Software Architecture)” 已经基本得到了软件工程领域普遍的认同。其中一些重要的定义介绍如下。 “软件架构代表了一个系统的组织结构•这包括将系统分解为不同的部分、界定它们之 间的连接 阅读全文
posted @ 2019-12-05 22:00
mongotea
阅读(252)
评论(0)
推荐(0)
摘要:
就在同一时期,其他的相关研究也正逐渐起步。这些研究的目的是试图从那些非正式、 不标准的经验知识中,提炼和组织出构造软件架构可利用的、相似的问题解决手段和设计 风格。这样,研究的成果就可以被不同的领域、在解决相似的问题时所重用。这些研究都 是针对当时一些著名系统进行分析和总结的,试图识别出那些通用的系 阅读全文
posted @ 2019-12-05 21:59
mongotea
阅读(212)
评论(0)
推荐(0)
摘要:
http://www.cnblogs.com/fanchangfa/archive/2011/09/08/2171280.htmlLinux用户权限设置Linux下有三类用户:1.超级用户: root 具有操作系统的一切权限, UID为02.普通用户:具有操作系统有限的权限 UID为500—6000 阅读全文
posted @ 2019-12-05 21:55
mongotea
阅读(2293)
评论(0)
推荐(0)
摘要:
http://bbs.51cto.com/thread-446343-1.html linux文件属性及权限详解(整理自鸟哥) [复制链接]发表于 2007-12-5 16:39 | 来自 51CTO网页[只看他] 楼主学习linux的基础知识,对文件属性的清除认识是重点之一在坛子里发现这方面的帖子 阅读全文
posted @ 2019-12-05 21:54
mongotea
阅读(99)
评论(0)
推荐(0)
摘要:
摘自:http://my.oschina.net/cwdong8/blog/77681 init 0 init1 init 3 init 5 init 6 这几个启动级别 suse服务器能ping通,但远程连接登录不上,修改启动级别才能正常登录!0:停机1:单用户形式,只root进行维护2:多用户, 阅读全文
posted @ 2019-12-05 21:53
mongotea
阅读(2148)
评论(0)
推荐(0)
摘要:
摘自:http://bbs.csdn.net/topics/330152333发表于: 2010-03-14 11:43:59我在shell中使用date来获取当前日期和时间的时候,想得到以下的格式: YYYY-MM-DD HH:MM:SS 但是我用以下的格式,得到的结果在日期和时间之间没有空格, 阅读全文
posted @ 2019-12-05 21:52
mongotea
阅读(1053)
评论(0)
推荐(0)
摘要:
摘自:http://www.wangchao.net.cn/bbsdetail_40763.html也许大家偶然会发现/sbin里有个init命令。你知道它是如何使用的吗? 如果你不喜欢使用图形登录方式,如何能够让用户在控制台下运行startx命令呢? 有时你要维护服务器,暂时不希望别的用户登录系统 阅读全文
posted @ 2019-12-05 21:52
mongotea
阅读(605)
评论(0)
推荐(0)
摘要:
Unix Shell 的 While 循环博客分类: · UnixUnixBashPHPCC++ 首先解释下 unix shell 是什么? unix shell就是unix系统的命令解释器,比如你敲个ls,它给你返回当前目录下的文件、目录列表,返回这个列表就是shell的工作。 unix shel 阅读全文
posted @ 2019-12-05 21:51
mongotea
阅读(1660)
评论(0)
推荐(0)
摘要:
#!/bin/bashstart_date=20130729end_date=20130910while [ $start_date -le $end_date ]do echo $start_date md=$(date -d "$start_date" +%Y-%m-%d) echo $md / 阅读全文
posted @ 2019-12-05 21:50
mongotea
阅读(428)
评论(0)
推荐(0)
摘要:
对话 UNIX: 在 Windows 上使用 CygwinCygwin 在 Windows 上提供一个完整的 UNIX shell(从 awk 到 zcat)Cygwin 是一个用于 Microsoft® Windows® 操作系统的类 UNIX® 环境。它包含一个真正的 UNIX shell、一个 阅读全文
posted @ 2019-12-05 21:50
mongotea
阅读(131)
评论(0)
推荐(0)
摘要:
Linux默认的目录很多,一下介绍几个常用的目录 ·/ :根目录,此目录下包含Linux系统所有的目录和文件。 ·/boot :存放系统启动时必须读取的文件,包括内核(kernel)在内,因此若要修该此目录下的文件,要特别小心。 ·/etc :摆放系统命令相关的设置文件。·/home :Linux下 阅读全文
posted @ 2019-12-05 21:49
mongotea
阅读(477)
评论(0)
推荐(0)
摘要:
1、如果登陆Linux的模式是文字模式,则开机后会进入文字模式的登陆画面。输入帐号和密码后,若想进入图形模式,则可以使用root帐号运行startx命令进入X Window,或运行gdm命令(或kdm命令)进入图形登陆界面。 2、若想改变设置,将启动后默认进入文字模式的登陆画面改为直接进入X Win 阅读全文
posted @ 2019-12-05 21:49
mongotea
阅读(465)
评论(0)
推荐(0)
摘要:
1、&:在后台执行updatedb & 在后台执行locate数据库的更新命令2、fg:前台运行程序 如果用户当前已有程序在后台运行,可以输入fg命令,将它从背景中移到前台运行3、tar:打包文件-c:创建一个新的tar文件-v:显示运行过程信息-f:指定文件名称-z:调用gzip压缩命令执行压缩- 阅读全文
posted @ 2019-12-05 21:49
mongotea
阅读(85)
评论(0)
推荐(0)
摘要:
首先从sun网站上下载JDK安装包,我这里使用jdk-6u16-linux-i586-rpm.bin文件。然后在终端输入“jdk-6u16-linux-i586-rpm.bin”提示 [root@localhost ftp]# jdk-6u16-linux-i586-rpm.bin -bash: j 阅读全文
posted @ 2019-12-05 21:48
mongotea
阅读(72)
评论(0)
推荐(0)
摘要:
Linux学习笔记 安装Tomcat:从网站上下载Tomcat,我这里下载的是5.5版本的。 使用“gzip -d apache-tomcat-5.5.28.tar.gz”解压文件,解压出一个文件夹名为为“apache-tomcat-5.5.28.tar”使用“tar -xvf apache-tom 阅读全文
posted @ 2019-12-05 21:48
mongotea
阅读(117)
评论(0)
推荐(0)
摘要:
1、logout:注销系统 2、man:查询帮助,如man shutdown 3、shutdown:关机或重新启动, shutdown -h now 请求系统立即关机 shutdown +5 "System will shutdown after 5 minutes" 5分钟后关机 shutdown 阅读全文
posted @ 2019-12-05 21:47
mongotea
阅读(70)
评论(0)
推荐(0)
摘要:
在安装Linux时会可以选择是否安装FTP,选择安装的FTP后,使用下面的命令启动FTP服务 “service vsftpd start”,然后可以使用其它电脑连接本机。 如果不能连接首先要确保本机网络畅通,如果没问题,则使用如下命令把防火墙给关闭掉。 “service iptables stop” 阅读全文
posted @ 2019-12-05 21:46
mongotea
阅读(90)
评论(0)
推荐(0)
摘要:
vim(vi)是Linux中功能强大的编辑工具。vim有3中主要的模式: 1.normal mode:当进入vim时,默认的模式就是normal mode。在此模式下,无法输入任何文字,不过可以利用按键命令来执行许多操作命令,例如移动光标位置、复制、删除。 2.insert mode:进入vim输入 阅读全文
posted @ 2019-12-05 21:46
mongotea
阅读(91)
评论(0)
推荐(0)
摘要:
扩展无状态的微服务是相对简单的。但如果我们把数据存储在一个数据库呢?我们也需要 知道如何扩展数据库。不同类型的数据库会提供不同形式的扩展,理解哪种形式最适合你 的使用场景,将确保从一开始你就选择了正确的数据库技术。 11.8.1服务的可用性和数据的持久性 更直接地说,重要的是你要区分服务的可用性和数 阅读全文
posted @ 2019-12-05 21:39
mongotea
阅读(199)
评论(0)
推荐(0)
摘要:
12.1微服务的原则 我们在第2章讨论过,微服务原则可以发挥什么样的作用。它们主要描述了该如何做,以 及为什么应该这样做的问题。这些原则可以帮助我们在构建系统时做出各种决定。你绝对 应该定义自己的原则,但微服务的一些关键原则,如图12-1总结的,我认为值得在这里洋 述。这些原则将帮助我们,创建出一系 阅读全文
posted @ 2019-12-05 21:39
mongotea
阅读(119)
评论(0)
推荐(0)
摘要:
11.1故障无处不在 我们知道事情可能会出错,硬盘可能会损坏,软件可能会崩溃。任何读过“分布式计算 的故障” (https://en.wikipedia.org/wiki/Fallacies_of_Distributed_Computing)的人都会告诉 你,网络也是不可靠的。我们可以尽力尝试去限制 阅读全文
posted @ 2019-12-05 21:38
mongotea
阅读(206)
评论(0)
推荐(0)
摘要:
数据加密是一种责任,尤其当它是敏感数据时。希望我们已经做了可以做的一切,以确保 攻击者不能攻破我们的网络,也不能攻破我们的应用程序或操作系统,然后近距离访问底 层数据。然而,我们需要做好准备,万一他们真的攻破了,我们该怎么办。深度防御非常 关键。 在许多有名的安全漏洞中,都发生了静态数据被攻击者获取 阅读全文
posted @ 2019-12-05 21:37
mongotea
阅读(581)
评论(0)
推荐(0)
摘要:
到目前为止,本书大部分的内容集中在向细粒度架构迈进时所面临的技术挑战。但除此之 外,我们也需要考虑组织方面的问题。在这一章,我们将了解到忽略公司的组织结构会带 来什么样的危险。 我们的行业还很年轻,它似乎在不断地重塑自己。不过,一些关键定律还是经受住了时间 的考验。例如摩尔定律,它表示集成电路上可容 阅读全文
posted @ 2019-12-05 21:37
mongotea
阅读(268)
评论(0)
推荐(0)
摘要:
正如我之前所展示的,将系统拆分成更小的、细粒度的微服务会带来很多好处。然而,它 也增加了生产系统的监控复杂性。在本章中,我将带大家看看细粒度的系统在系统监控和 定位问题上所面临的挑战,同时还会介绍一些应对方法,让鱼和熊掌兼得! 我们现在有多个服务需要监控,有多个日志需要筛选,多个地方有可能因为网络延 阅读全文
posted @ 2019-12-05 21:36
mongotea
阅读(87)
评论(0)
推荐(0)
摘要:
我们需要考虑,在数据从一个点到另一个点的传输过程中,如何保护它们,也需要考虑在 其他情况下如何进行保护。我们需要考虑底层操作系统及网络的安全。有太多需要考虑的 点,有太多可以做的事情!那到底需要多安全呢?我们如何知道什么是足够安全呢? 我们还需要考虑人的因素。谁在使用我们的系统,他又会做些什么?而这 阅读全文
posted @ 2019-12-05 21:36
mongotea
阅读(156)
评论(0)
推荐(0)
摘要:
7.1测试类型 作为一名顾问,我喜欢使用形式各异的象限来对世界进行分类。起初,我以为这本书不会 有这样的象限。幸运的是,Brian Marick想出了一个非常棒的分类测试体系,恰好就是用 象限的方式。图7-1展示了 Lisa Crispin和Janet Gregory在《敏捷软件测试》一书中,用来 阅读全文
posted @ 2019-12-05 21:35
mongotea
阅读(218)
评论(0)
推荐(0)
摘要:
使用之前所提到的端到端测试,我们试图解决的关键问题是什么?是试图确保部署新的服 务到生产环境后,变更不会破坏新服务的消费者。有一种不需要使用真正的消费者也能达 到同样目的的方式,它就是CDC (Consumer-Driven Contract,消费者驱动的契约)。 当使用CDC时,我们会定义服务(或 阅读全文
posted @ 2019-12-05 21:35
mongotea
阅读(223)
评论(0)
推荐(0)
摘要:
很早之前,就有关于“每台机器(machine)应该有多少个服务”的讨论。在我们继续之 前,应该找一个比“机器”更好的术语。在前虚拟化时代,单个运行操作系统的主机与底 层物理基础设施之间的映射形式有很多种。因此,我倾向于使用“主机”(host)这个词来 做通用的隔离单元,也就是能够运行服务的一个操作系 阅读全文
posted @ 2019-12-05 21:34
mongotea
阅读(360)
评论(0)
推荐(0)
摘要:
其实,对我们来说知道订单被捕获并被处理就足够了,因为可以后面再对仓库的提取表做 一次插人操作。我们可以把这部分操作放在一个队列或者日志文件中,之后再尝试对其进 行触发。对于某些操作来说这是合理的,但要保证重试能够修复这个问题。 很多地方会把这种形式叫作最终一致性。相对于使用事务来保证系统处于一致的状 阅读全文
posted @ 2019-12-05 21:33
mongotea
阅读(131)
评论(0)
推荐(0)
摘要:
你真的在做Cl吗 我猜你很有可能正在组织内使用持续集成。如果没有的话,你应该开始这么做,因为这个 关键实践允许我们更快速、更容易地修改代码。如果没有持续集成,向微服务架构进行转 型就会非常痛苦。即便如此,很多宣称自己在做CI的团队并没有真正在做。他们认为使 用了 ci工具就算是采用了 ci这个实践, 阅读全文
posted @ 2019-12-05 21:33
mongotea
阅读(175)
评论(0)
推荐(0)
摘要:
论过了。然后,尝试理解这个单块系统能够被映射到哪些限界上下文中。假设一开始我们 识别出这个单块后台系统包含以下四个上下文。 •产品目录 与正在销售的商品相关的元数据。 •财务 账户、支付、退款等项目的报告。 • 仓库 -分发客户订单、处理退货、管理库存等。 • 推荐 该系统的算法正在申请专利。它是革 阅读全文
posted @ 2019-12-05 21:32
mongotea
阅读(178)
评论(0)
推荐(0)
摘要:
前面提到的那些选择各自都有其适用的范围。一个组织会选择基于片段组装的方式来构建 网站,但对于移动应用来说,BFF可能是更好的方式。关键是要保持底层服务能力的内聚 性。比如,预定音乐和改变客户信息的逻辑应该处在相应的服务中,避免这些逻辑在系统中到处散布。将太多的逻辑放入到刚才提到的那种中间层中是一个常 阅读全文
posted @ 2019-12-05 21:31
mongotea
阅读(154)
评论(0)
推荐(0)
摘要:
4.8实现基于事件的异步协作方式 前面讨论了一些与请求/响应模式相关的技术。那么基干事件的异步通信呢? 4.8.1技术选择 主要有两个部分需要考虑:微服务发布事件机制和消费者接收事件机制。 传统上来说,像RabbitMQ这样的消息代理能够处理上述两个方面的问题。生产者 (producer)使用API 阅读全文
posted @ 2019-12-05 21:30
mongotea
阅读(487)
评论(0)
推荐(0)
摘要:
由于服务端使用标准文本形式的响应,所以客户端可以很灵活地对资源进行使用,而基于 HTTP的REST能够提供多种不同的响应形式。到目前为止我们看到的例子都是XML的, 但事实上目前JSON更加流行。 JSON无论从形式上还是从使用方法上来说都更简单。有些支持者认为,相比XML, JSON的内容更加紧凑 阅读全文
posted @ 2019-12-05 21:29
mongotea
阅读(260)
评论(0)
推荐(0)
摘要:
3.2什么样的服务是好服务 在MusicCorp的团队为了把八轨带(eight track tape)递送到所有人手中而开始辛苦工作、 创建一个又一个的服务之前,让我们先缓缓,讨论一些很重要的基本原则。什么是好的服 务?如果你曾经尝试过SOA并且失败了,大概就知道我下一步要说什么了。不过万一你 没那 阅读全文
posted @ 2019-12-05 21:28
mongotea
阅读(127)
评论(0)
推荐(0)
摘要:
在我看来,集成是微服务相关技术中最重要的一个。做得好的话,你的微服务可以保持自 治性,你也可以独立地修改和发布它们;但做得不好的话会带来灾难。希望本章能够帮助 你在微服务之旅中,避免曾经在SOA中遇到的那些问题。 4.1寻找理想的集成技术 微服务之间通信方式的选择非常多样化,但哪个是正确的呢? SO 阅读全文
posted @ 2019-12-05 21:28
mongotea
阅读(59)
评论(0)
推荐(0)
摘要:
本系列的文章是自己在边学习购买的书籍《微服务设计》时,边记录下来的,用于加深学习效果和以后的回顾,如若侵权,请告知,我会及时删除。 阅读全文
posted @ 2019-12-05 21:27
mongotea
阅读(93)
评论(0)
推荐(0)
摘要:
2.3分区 前面我们将架构师比作城市规划师,那么在这个比喻里面,区域的概念对应的是什么呢? 它们应该是我们的服务边界,或者是一些粗粒度的服务群组。作为架构师,不应该过多关 注每个区域内发生的事情,而应该多关注区域之间的事情。这意味着我们应该考虑不同的 服务之间如何交互,或者说保证我们能够对整个系统的 阅读全文
posted @ 2019-12-05 21:25
mongotea
阅读(211)
评论(0)
推荐(0)
摘要:
Eric Evans的《领域驱动设计》一书帮助我们理解了用代码呈现真实世界的重要性, 并且 告诉我们如何更好地进行建模。持续交付理论告诉我们如何更有效及更高效地发布软件 产品, 并指出保持每次提交均可发布的重要性。 基于对Web的理解,我们寻找到了机器 与机器交互的更好方式。Alistair Coc 阅读全文
posted @ 2019-12-05 21:24
mongotea
阅读(137)
评论(0)
推荐(0)

浙公网安备 33010602011771号