Architecture
文章平均质量分 54
架构设计相关文章
陈振阳
我翻开历史一查,这历史没有年代,歪歪斜斜的每页上都写着仁义道德四个字。我横竖睡不着,又仔细看了半夜,才从字缝缝里看出字来。满页都写着两个字是,吃人。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
SOA、SOI和SOE
【来源:《IT经理世界》】赵捷基于SOA 原理开发的软件和产品并不能保证企业具有SOA 架构,它们之间没有必然联系。近期,我国IT 业对SOA的讨论和推崇轰轰烈烈,很多IT 产品和服务提供商纷纷举办各种有关SOA的培训和产品展示。这个跨行业和范围甚广的SOA 引起了包括国内很多著名大型企业在内的CIO、IT 总经理、IT 高管们的注意和兴趣,更有不少专家在各种场合谈论SOA,有的企业还实施了SOA。然而大多数IT管理者们要么对SOA的定义、概念和内涵混沌不清,要么就是以自己的理解来阐述SOA的内涵,还转载 2021-10-27 11:41:18 · 5071 阅读 · 0 评论 -
面向构件的SOA架构设计
面向构件的SOA架构设计浅谈面向构件的SOA架构原创 2021-10-24 11:24:09 · 892 阅读 · 0 评论 -
4+1 视图及与UML图的映射
参考Architectural Blueprints—The “4+1” View Model of Software ArchitectureDDD:4+1 视图wikipedia 4+1 architectural view modeltutorialspoint#Software Architecture & Design#Architecture Models 建构建模,内容涉及UML (Unified Modeling Language) 、Architecture View .原创 2021-10-18 10:58:52 · 2620 阅读 · 0 评论 -
Algorithms for Recovery and Isolation Exploiting Semantics
In computer science, Algorithms for Recovery and Isolation Exploiting Semantics, or ARIES is a recovery algorithm designed to work with a no-force, steal database approach; it is used by IBM DB2, Microsoft SQL Server and many other database systems.[1] IBM转载 2021-10-15 10:36:45 · 2860 阅读 · 0 评论 -
集群和分布式系统
左:中心化中:去中心化右:分布式原创 2021-09-08 15:15:15 · 6772 阅读 · 0 评论 -
让应用更健壮
[第三方的业务端管理系统]存在的目的,是为了尽可能多的记录整个链路的信息;日志系统足够强大的话,日志系统即可,如果不够强大,则需要自己做管理系统记录;依赖于日志重构调用第三方系统的地方;日志后续可以增加报警等的配置;日志形式尽量记录更多的细节信息用于链路追踪和数据分析;(已分任务)关键是找到流控降级的用法,应用内如何整合,如何优雅的使用 Plan B;降级,plan b,熔断,什么时候使用plan b。{https://blog.youkuaiyun.com/weixin_39165464/article/..原创 2020-11-11 20:47:32 · 451 阅读 · 0 评论 -
云设计模式#联合身份模式
Azure/体系结构/云设计模式联合/身份模式 使用 SAML 和 WebSphere 软件进行联合身份验证原创 2018-05-09 15:29:12 · 598 阅读 · 0 评论 -
One-time Password-动态口令
TOTP: Time-based One-time Password Algorithm RFC 4226 One-Time Password and HMAC-based One-Time Password RFC 2104 HMAC Keyed-Hashing for Message Authentication 动态令牌-(OTP,HOTP,TOTP)-基本原理-必看 谷歌验证 (G...原创 2018-05-07 11:57:10 · 4529 阅读 · 1 评论 -
事务-分布式事务
如何保障微服务架构下的数据一致性 微服务架构下的数据一致性保证(一) 微服务架构下的数据一致性保证(二) 微服务架构下的数据一致性保证(三):补偿模式原创 2017-11-21 11:20:35 · 625 阅读 · 0 评论 -
Apache Avro vs Apache Thrift vs Google Protocol Buffers vs MessagePack
参考Apache Avro Apache Thrift Google Protocol Buffers thrift与avro RPC使用对比与总结 Apache Avro 与 Thrift 比较 Thrift、protocolbuffer、avro这几种序列化之间的比较 Protobuffer和json深度对比 跨语言通信方案的比较—Thrift、Protobuf和Avro 三种通原创 2017-12-31 11:44:37 · 1149 阅读 · 0 评论 -
学习分布式系统需要怎样的知识?
作者:马超 链接:https://www.zhihu.com/question/23645117/answer/124708083 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。我的 Phd 研究方向是分布式系统,我老板也是搞分布式系统出身,我们实验室在这方面的积累还算不错,所以借此问题谈谈自己的看法。首先需要说明的是,分布式系统是一个复杂且宽泛的研究领域,学原创 2017-12-15 12:51:48 · 710 阅读 · 0 评论 -
语义化版本 2.0.0
摘要版本格式:主版本号.次版本号.修订号,版本号递增规则如下:主版本号:当你做了不兼容的 API 修改, 次版本号:当你做了向下兼容的功能性新增, 修订号:当你做了向下兼容的问题修正。 先行版本号及版本编译信息可以加到“主版本号.次版本号.修订号”的后面,作为延伸。简介在软件管理的领域里存在着被称作“依赖地狱”的死亡之谷,系统规模越大,加入的套件越多,你就越有可能在未来的某一天发现自己已深陷绝原创 2017-12-13 14:59:50 · 323 阅读 · 0 评论 -
限流器得一些知识
服务治理——限流(30%)neural原创 2019-07-28 21:22:17 · 877 阅读 · 0 评论 -
事务管理优秀资源整理
理论Atomikos Documentation:Atomikos 的官方文档,这家公司很强大,猛料特别多;优秀的开源框架LCN 分布式事务框架:思路是协调各个分布式事务参与者的本地事务;要求分布式事务的参与者都要有本地事务管理的能力; ByteTCC:tcc开源实现 Atomikos TransactionsEssentials:JTA实现,restful 分布式事务实现原创 2017-12-09 18:08:18 · 334 阅读 · 0 评论 -
Jenkins with Docker
jenkins blueocean JClouds PluginJenkins重启,关闭,重载 http://localhost:8080/exit http://localhost:8080/restart http://localhost:8080/reloadJenkins & DockerCloudBees Custom Builds Enviro原创 2018-01-05 00:38:08 · 1677 阅读 · 0 评论 -
如何对接第三方库的异常体系
对接第三方框架时,如果其抛出的异常不是 RuntimeException ,一定要将其转换为 NestedRuntimeException 。以 com.github.stuxuhai.jpinyin 这个库为例,其中一个方法的源代码如下:public final class PinyinHelper { /** * 获取字符串对应拼音的首字母 * * @param str ...原创 2019-09-05 19:30:15 · 883 阅读 · 0 评论 -
Keepalived
(keepalived实现服务高可用)[https://www.cnblogs.com/clsn/p/8052649.html#_label0]原创 2018-01-28 11:20:59 · 449 阅读 · 0 评论 -
软件规模估算方法
技术难度系数-功能点-分支数量=故事点关于软件项目工作量估算的若干问题原创 2018-03-22 11:37:03 · 7194 阅读 · 0 评论 -
RBAC新解:基于资源的权限管理(Resource-Based Access Control)
转自:http://www.thinksaas.cn/group/topic/150841/ (原文地址:http://www.katasoft.com/blog/2011/05/09/new-rbac-resource-based-access-control)本文讨论以角色概念进行的权限管理策略及主要以基于角色的机制进行权限管理是远远不够的。同时我将讨论一种我认为更好的权限管理方式。什么是角色转载 2015-03-20 09:56:49 · 2610 阅读 · 0 评论 -
Logging 日志记录最佳实践
介绍本文解释应用程序中的错误和调试日志的最佳实践。应用日志是一个非常重要的“工具”用来帮你查明具问题。如果有一个基础架构用来记录应用中的日志和事件,那么调试和问题的解决就会变得很简单。在开始文章之前,我们要介绍两个相关的工具:Logstash - http://www.oschina.net/p/logstash Graylog2 - http://www.oschina.net/p/graylo原创 2015-06-03 17:07:02 · 956 阅读 · 0 评论 -
分布式系统接口幂等性设计
接口幂等分布式系统中,接口幂等性是系统可行性论证的第一个步骤。 一个软件系统中,所有的接口都可以归结为增删改查四大类;下面我们对这四大类接口进行分析;查询和删除查询操作 查询一次和查询多次,在数据不变的情况下,查询结果是一样的。select是天然的幂等操作 删除操作 删除操作也是幂等的,删除一次和多次删除都是把数据删除。(注意可能返回结果不一样,删除的数据不存在,返回0,删除的数据多条原创 2017-09-25 15:35:50 · 12826 阅读 · 1 评论 -
分布式锁总结
基于Zookeepermenagerie:基于zookeeper实现的分布式锁基于RedisRedisson:基于redis,Lock, FairLock, MultiLock, RedLock, ReadWriteLock, Semaphore, PermitExpirableSemaphore, CountDownLatch(有中文文档) Redisson压测 RedLock(红锁) Re原创 2017-09-25 16:56:01 · 684 阅读 · 0 评论 -
Maven安装骨架工程到本地仓库
Maven安装骨架工程到本地,搜了下,都是四步,没有下面的第三步,安装一直不成功,加上第三步之后,就可以了。 1. 定义你开发环境的目录结构,写一个pom.xml. 2. 使用命令,mvn archetype:create-from-project 创建一个工程模板。 3. 使用命令,mvn install 将骨架工程编译安装到本地。 4. 在target目录下执行mvn install原创 2016-10-21 09:21:58 · 1706 阅读 · 0 评论 -
Content-disposition
Content-disposition 是 MIME 协议的扩展,MIME 协议指示 MIME 用户代理如何显示附加的文件。当 Internet Explorer 接收到头时,它会激活文件下载对话框,它的文件名框自动填充了头中指定的文件名。(请注意,这是设计导致的;无法使用此功能将文档保存到用户的计算机上,而不向用户询问保存位置。) 服务端向客户端游览器发送文件时,如果是原创 2015-11-07 21:55:28 · 1162 阅读 · 0 评论 -
提高日志质量的5大技巧
最近涌现出各种各样能帮助你理解日志的新工具,有类似 Scribe、Logstash 这样的开源项目,也有类似 Splunk 的预付费工具,还有托管服务如 SumoLogic 和 PaperTrail。这些工具的共同点是对日志数据进行清洗,在大量日志中提取一些更有价值的文件。提高日志质量的五大技巧但有一件事这些工具却爱莫能助,因为它们完全依赖你实际投入的日志数据,而如何保证数据的质量和数量则需要用户自原创 2015-07-10 11:44:00 · 960 阅读 · 0 评论 -
Log4j最佳实践
Julius Davies, June 9th, 2008 尤利乌斯·戴维斯,2008年6月9日 Before You Do Anything Else 在你做其他事情之前 Take a look at this logging checklist by Anton Chuvakin. 先看看Anton Chuvakin做的这个日志清单。Introduction 简介Logs must b原创 2015-06-03 17:35:55 · 2389 阅读 · 0 评论 -
Logging最佳实践
意识ASAP (As Soon As Possible)原则 当线上出现诡异问题, 当你意识到靠现有的日志无法定位问题时, 当现象难以在你的开发环境重现时, 请不要执著于枯坐肉眼看代码, 因为: 一)不一定是你代码逻辑问题,可能是脏数据造成的,是老业务数据造成的,是分布式环境造成的,是其他子系统造成的; 二)线上业务处于不稳定中,条件不允许问题定位无限期。 此时,请立即在问题相关的调原创 2015-06-03 15:29:37 · 1061 阅读 · 0 评论 -
LogLogic/Chuvakin Log Checklist
LogLogic/Chuvakin Log ChecklistAnton A. Chuvakin, www.chuvakin.org, June 9th, 2008Editor’s note: I asked Anton A. Chuvakin, of LogLogic, to review my Log4J Best Practices page. He responded with his ow原创 2015-06-03 16:26:15 · 711 阅读 · 0 评论 -
写给开发者:记录日志的10个建议
欢迎在新的一年来到我的博客。在一个巴黎devops maillist上回复了一个关于监控和日志监控之后,我想起了很久以前我的一个博客计划。 尽管在写这篇博文的时候,我是在负责运维工作,不过本文主要是写给开发者的。 对我来说,明白如何记录日志和记录什么,是软件工程师必须明了的最艰巨的任务之一。之所以这么说,是因为这项任务与预测(divination)类似,你不知道当你要调试的时候需要些什么信息……原创 2015-06-03 15:56:34 · 1269 阅读 · 0 评论 -
Java 日志管理最佳实践
日志记录是应用程序运行中必不可少的一部分。具有良好格式和完备信息的日志记录可以在程序出现问题时帮助开发人员迅速地定位错误的根源。对于开 发人员来说,在程序中使用日志API记录日志并不复杂,不过遵循一些最佳实践可以更好的利用日志。本文介绍了在Java程序中记录日志的最佳实践,同时也 介绍了如何使用开源软件对日志进行聚合和分析。概述对于现在的应用程序来说,日志的重要性是不言而喻的。很难想象没有任何日志记原创 2015-06-03 11:12:36 · 1634 阅读 · 0 评论 -
日志记录最佳实践
对于现在的应用程序来说,日志的重要性是不言而喻的。很难想象没有任何日志记录功能的应用程序运行在生产环境中。日志所能提供的功能是多种多样的,包括记录程序运行时产生的错误信息、状态信息、调试信息和执行时间信息等。在生产环境中,日志是查找问题来源的重要依据。应用程序运行时的产生的各种信息,都应该通过日志 API 来进行记录。我们要记录什么?完成某项操作所需的时间通过它可以跟踪为什么系统响应变慢或者太快原创 2015-06-03 17:39:45 · 2565 阅读 · 0 评论 -
Tomcat配置可以上传文件的用户
<tomcat-users><!-- NOTE: By default, no user is included in the "manager-gui" role required to operate the "/manager/html" web application. If you wish to use this app, you must define such a user - the username and password are arbitrar原创 2015-11-26 21:09:42 · 1827 阅读 · 0 评论 -
状态机(一)
状态机概念术语State Machine:状态机,驱动带有region、transition和event信息的状态集合。 State:一个状态模拟一个具体的情况,在这个情况发生的期间,会保持一些不变的条件。State是状态机中主要的实体,事件驱动状态的改变。 Extended State:扩展状态是保存在状态机中的一个特别的变量集合,用来减少必要的状态枚举的数量。 Transition:Tra原创 2016-07-18 16:44:48 · 2807 阅读 · 0 评论 -
深入 Spring 系列之静态资源处理
前一段时间,WebIDE 开源的过程中,无意间接触到 webjars,觉得比较有趣,于是研究并整理了一下。webjars 是将前端的库(比如 jQuery)打包成 Jar 文件,然后使用基于 JVM 的包管理器(比如 Maven、Gradle 等)管理前端依赖的方案。webjars 的效果非常神奇。可以举个例子,我们可以在 maven 项目中添加下面的依赖:原创 2016-10-12 10:27:30 · 20982 阅读 · 4 评论 -
数据库View配合Dao层框架解决表1:1和1:n时的关联查询SQL生成问题
后台管理页面大多都是各种表格,大多数情况下呈现的数据是多表关联后的结果,这种SQL语句一般是需要单独写的,使用数据库的view,可以将这种查询SQL语句也自动生成(各种dao层的框架,现在基本上都有自动生成CRUD方法的功能)。原创 2016-10-10 18:19:20 · 909 阅读 · 0 评论 -
Javaweb异常提示信息统一处理
一、前言后台出现异常如何友好而又高效地回显到前端呢?直接将一堆的错误信息抛给用户界面,显然不合适。先不考虑代码实现,我们希望是这样的:(1)如果是页面跳转的请求,出现异常了,我们希望跳转到一个异常显示页面,如下: 当然,这里的界面不够美观,但是理论是这样的。 (2)如果是ajax请求,那么我们,希望后台将合理的错误显示返回到ajax的回调函数里面,如下:$.ajax({ type: "原创 2016-08-13 14:27:41 · 4759 阅读 · 0 评论 -
Tomcat启动时多次部署项目引发的bug
Tomcat启动时,会发生多次部署的现象。可以看下这篇博客。 http://blog.youkuaiyun.com/xichenguan/article/details/52422994在使用Quartz的过程中,没有使用Spring配置文件的方式,而是继承了ServletContextListener类,用程序去初始化的Quartz的Scheduler,同时还初始化并start了任务,这样导致的问题就是,如原创 2016-09-03 14:38:40 · 2435 阅读 · 0 评论 -
Tomcat启动时Host标签和Context标签的处理导致程序部署多次
在生产环境中,我们一般会有如下类似的配置,原创 2016-09-03 14:22:29 · 6641 阅读 · 1 评论 -
Bootstrap+BootstrapValidator+Mybatis实现通用单字段验证V1(待改进)
1.通用JS函数/** * 使用bootstrapvalidator时的工具类,与后台配合,实现单字段的验证。 * * @author 陈振阳 * @date 2016.08.21 */function bvValidateField(dom) { var form = $(dom).parents("form") var field = $(dom).attr原创 2016-08-21 20:47:43 · 2223 阅读 · 0 评论 -
mysql中sql时间段查询语句
今天select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) – TO_DAYS( 时间字段名)原创 2016-09-11 14:10:09 · 7340 阅读 · 0 评论
分享