07 2016 档案

摘要:http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html 阅读全文
posted @ 2016-07-10 17:41 johnson-ycp 阅读(170) 评论(0) 推荐(0)
摘要:1.首先安装Git Bash\Git GUI 2.生成密钥: ssh-keygen -t rsa -C "276434731@qq.com" 得到2个文件: id_rsa, id_rsa.pub 3.在github 或者oschina 添加ssh id_rsa.pub 测试:ssh git@gith 阅读全文
posted @ 2016-07-06 18:57 johnson-ycp 阅读(94) 评论(0) 推荐(0)
摘要:http://www.cnblogs.com/mengdd/p/3447464.html 阅读全文
posted @ 2016-07-06 18:25 johnson-ycp 阅读(112) 评论(0) 推荐(0)
摘要:《SpringBoot揭秘》 《微服务设计》 《REST实战》 《SOA与REST--用REST构建企业级SOA解决方案》 阅读全文
posted @ 2016-07-04 18:21 johnson-ycp 阅读(128) 评论(0) 推荐(0)
摘要:服务独立部署: 基于通用的通信机制,首选基于HTTP的Restful API 服务器端可自由添加非必须的请求参数 服务器端可自由添加响应参数 服务器端可自由添加错误代码 服务器端通过服务版本号控制不兼容的修改 阅读全文
posted @ 2016-07-04 18:15 johnson-ycp 阅读(227) 评论(0) 推荐(0)
摘要:协议: 普通场合优先选择基于HTTP的Restful API(基于HTTP协议,互操作性好,各种编程语言都支持;可伸缩性好;松耦合;易于测试) API实现技术应该避免与客户端耦合 特殊场合可以选择二进制的RPC协议(对低延迟、实时性要求极高;松耦合不重要;二进制的RPC协议:基于Google Pro 阅读全文
posted @ 2016-07-04 18:11 johnson-ycp 阅读(527) 评论(0) 推荐(0)
摘要:判断良好服务的标准 服务自身保持高内聚(有自己独立的领域模型) 封装内部变化,通过API对外暴露功能(只有本服务自身的代码可访问本领域模型的数据库,其他系统只能通过本服务暴露的API间接访问本服务的数据) 与其他服务保持松耦合,能够独立修改和部署(依赖本服务的其他系统不必同时修改和部署) 能够实现服 阅读全文
posted @ 2016-07-04 18:03 johnson-ycp 阅读(306) 评论(0) 推荐(0)
摘要:问题: 划分服务的原则是什么 服务之间选择何种轻量级的通信协议 如何做到服务的独立部署 如何确定使用何种编程语言?控制多语言带来的复杂度 如何做到服务的去中心化 如何解决大量微服务引入的运维成本 阅读全文
posted @ 2016-07-04 17:57 johnson-ycp 阅读(256) 评论(0) 推荐(0)
摘要:基础知识: 部署微服务而设计的开发框架 微服务运维工具 基于Docker的部署和管理 阅读全文
posted @ 2016-07-04 17:55 johnson-ycp 阅读(243) 评论(0) 推荐(0)
摘要:好处: 解决传统单块风格应用的问题: 单一代码库,代码维护复杂 单一发布单元,测试困难 单一发布单元,发布困难 对服务器硬件配置要求极高,垂直扩展困难 无法做到无状态,水平扩展困难 解决集中式服务管理机制的问题: 有可能出现单点故障 可伸缩性差,容易出现性能瓶颈 解决重量级通信机制的问题: 基于HT 阅读全文
posted @ 2016-07-04 17:50 johnson-ycp 阅读(450) 评论(0) 推荐(0)
摘要:不足: SOA没有为服务如何划分提出具体指导 SOA无法防止服务之间过度耦合 SOA通常使用重量级的通信协议,例如:SOAP/WSDL SOA中常常有集中式的服务管理机制,例如:UDDI、ESB SOA未强调服务的独立部署 SOA难以使用不同的编程语言使用 SOA的性能和可伸缩性无法满足面向互联网大 阅读全文
posted @ 2016-07-04 17:40 johnson-ycp 阅读(349) 评论(0) 推荐(0)
摘要:全称:微服务架构(Microservice Architecture) Martin Fowler的定义: 微服务架构是一种架构模式,它提倡将单一应用程序划分为一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务之间采用轻量级的通信机制(通常是基于HTTP 阅读全文
posted @ 2016-07-04 17:36 johnson-ycp 阅读(174) 评论(0) 推荐(0)
摘要:代理:控制对象访问 远程代理好比远程对象的本地代表 RMI java.lang.reflect Proxy & InvocationHandler 阅读全文
posted @ 2016-07-03 20:20 johnson-ycp 阅读(85) 评论(0) 推荐(0)
摘要:策略模式和状态模式是双胞胎 策略模式是围绕可以互换的算法来创建成功业务的,而状态 通过改变对象内部的状态来帮助对象控制自己的行为 定义: 允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类 阅读全文
posted @ 2016-07-03 20:08 johnson-ycp 阅读(121) 评论(0) 推荐(0)
摘要:迭代器模式: 提供一种方法顺序访问聚合对象内的各个元素,而又不暴露其内部的表示 实现Iterator接口的hasNext()以及next()方法 组合模式: 允许你将对象组合成树形结构来表现"整体/部分"层次结构,组合能让客户以一致的方式处理个别对象以及对象组合 阅读全文
posted @ 2016-07-03 20:01 johnson-ycp 阅读(102) 评论(0) 推荐(0)
摘要:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法接口的前提下,重新定义算法中的某些步骤。 钩子:一种被声明在抽象类中的方法,但只有空的或者默认的实现 阅读全文
posted @ 2016-07-03 19:30 johnson-ycp 阅读(105) 评论(0) 推荐(0)
摘要:适配器模式(Adapter pattern): 将一个类的接口,转换成客户期望的另一个接口。适配器让原本不兼容的类可以合作无间 对象适配器(对象组合的方式) 适配器实现了目标接口,并持有被适配者的实例 外观模式(Facade pattern): 提供了一个统一的接口,用来访问子系统中的一群接口。外观 阅读全文
posted @ 2016-07-03 19:22 johnson-ycp 阅读(166) 评论(0) 推荐(0)
摘要:最少知识原则:只和你的密友谈话 阅读全文
posted @ 2016-07-03 19:21 johnson-ycp 阅读(85) 评论(0) 推荐(0)
摘要:对扩展开放,对修改关闭。 阅读全文
posted @ 2016-07-03 19:20 johnson-ycp 阅读(107) 评论(0) 推荐(0)
摘要:命令模式:封装方法调用 通过封装方法调用,我们可以把运算块封装成形,所有调用该运算的对象不需要关心事情是如何进行的, 只要知道如何使用包装成形的方法来完成它就可以 将请求封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式支持可撤销操作 客户负责创建一个命令对象,并设置接受者。 调 阅读全文
posted @ 2016-07-02 14:56 johnson-ycp 阅读(104) 评论(0) 推荐(0)
摘要:单件模式:用来创建独一无二的,只能有一个实例的对象的入场券 1.双重检查锁定。对象设置为volatile 2.内部类方式 阅读全文
posted @ 2016-07-02 14:36 johnson-ycp 阅读(104) 评论(0) 推荐(0)
摘要:封装创建对象的代码 工厂方法模式:定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个,工厂方法让类把实例化推迟到子类 抽象工厂模式:提供了一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类 静态工厂方法 优点:不需要使用创建对象的方法来实例化对象。 缺点:不能通过继承改变创建对象 阅读全文
posted @ 2016-07-02 14:34 johnson-ycp 阅读(126) 评论(0) 推荐(0)
摘要:定义: 装饰者模式动态地将责任附加到对象上,若要扩展功能,装饰者提供了比继承更有弹性的替代方案。 特征: 1.装饰者和装饰的对象具有相同的超类型 2.用一个或者多个装饰者来装饰对象 3.装饰者可以在被装饰对象的方法前后添加自己的行为,来达到特定的目的 4.对象可以在任何时候被装饰,可以在运行时动态地 阅读全文
posted @ 2016-07-02 13:54 johnson-ycp 阅读(87) 评论(0) 推荐(0)
摘要:为了交互对象之间的松耦合设计而努力. 观察者模式中主题和观察者. 主题依赖于观察者接口向观察者通知变化,观察者通过主题接口向主题注册自己 阅读全文
posted @ 2016-07-02 13:23 johnson-ycp 阅读(97) 评论(0) 推荐(0)