摘要:redis分布式锁 单机版本 为什么要使用锁? 第一个是正确性,这个众人皆知。就像Java里的synchronize,就是用来保证多线程并发场景下,程序的正确性。JVM里需要保证并发访问的正确性,在分布式系统里面,也同样需要,只不过并发访问的单位,不再是线程,而是进程。 举个例子,一个文件系统,为了
        
阅读全文
 
    
        
        
摘要:zookeeper zookeeper zookeeper概述 Zookeeper是一个分布式协调服务的开源框架。ZooKeeper本质上是一个分布式的小文件存储系统。提供基于类似于文件系统的目录树方式的数据存储,并且可以对树中的节点进行有效管理。从而用来维护和监控你存储的数据的状态变化。通过监控这
        
阅读全文
 
    
        
        
摘要:消息队列 什么是消息队列? 消息队列是在消息的传输过程中保存消息的容器。这里的消息可以非常简单,例如只包含文本字符串;也可以更复杂,可能包含嵌入对象。消息被发送到队列中。 "消息队列"是在消息的传输过程中保存消息的容器。消息队列管理器在将消息从它的源中继到它的目标时充当中间人。队列的主要目的是提供路
        
阅读全文
 
    
        
        
摘要:单例模式 创建型 单例(Singleton) Intent 确保一个类只有一个实例,并提供该实例的全局访问点。 Class Diagram 使用一个私有构造函数、一个私有静态变量以及一个公有静态函数来实现。 私有构造函数保证了不能通过构造函数来创建对象实例,只能通过公有静态函数返回唯一的私有静态变量
        
阅读全文
 
    
        
        
摘要:Dubbox以及微服务 zookeeper在Dubbo中扮演了一个什么角色,起到了什么作用? 现在整体架构是如下图(假设服务消费者为订单服务,服务提供者为用户服务): 这样会有什么问题呢? 当服务提供者增加节点时,需要修改配置文件 当其中一个服务提供者宕机时,服务消费者不能及时感知到,还会往宕机的服
        
阅读全文
 
    
        
        
摘要:软件体系结构2 软件体系结构概述 软件体系结构包括构件(Component)、连接件(Connector)和约束(Constraint)或配置(Configuration)三大要素。 软件需求与架构 需求是指明必须实现什么规格说明。它描述了系统的行为、特性或属性,是在开发过程中对系统的约束。 与客户
        
阅读全文
 
    
        
        
摘要:软件体系结构 质量属性: 开发期质量:可扩展性,可复用性,可维护性等; 运行期质量:正确性,健壮性,性能,可靠性,容错性,易用性,安全性,可移植性,兼容性。 设计原则: 面向接口编程(Program to interfaces, not to implementations) 多用组合,少用继承(F
        
阅读全文
 
    
        
        
摘要:如果是轻量级服务器中,需要在防火墙设置中设置全部TCP+UPD 使用外网的ip作为服务的ip 如果是轻量级服务器,需要设置安全组
        
阅读全文
 
    
        
        
摘要:ViewService 在分布式系统中,最常见的场景就是主备架构。但是如果主机不幸宕机,如何正确的通知客户端当前后端服务器的状况成为一个值得研究的问题。本文描述了一种简单的模型用于解决此问题。 背景 以一个分布式的Key-Value数据库为背景。数据库对外提供3个接口 Get(key) Put(ke
        
阅读全文
 
    
        
        
摘要:比特币 2010年5月一位程序员用1万个比特币买了这样的2份披萨 在2017年12月16日,也就是大约7年半后,1万个比特币大约值1.8亿美元,也就是大约12亿人民币比特币在7年半时间变得这么值钱,比特币究竟是什么 通过一个虚构的例子,一步一步由浅入深地介绍比特币是什么 小青,小红和小白,小皂4个人
        
阅读全文
 
    
        
        
摘要:分布式系统 概述 分布式系统是由自主计算机组成的,这些计算机一起工作,给人的外观是一个单一连贯的系统。一个重要的优点是,它们可以很容易地把运行在不同计算机上的不同应用程序集成到单个系统中。另一个优点是,如果设计恰当,分布式系统可以随底层网络的大小而扩展。这些优点往往带来的代价是更复杂的软件、性能的降
        
阅读全文
 
    
        
        
摘要:SOA期末总结 标准化的封装,可以复用,松耦合可编排 问答题可能的问题 实验一 如何开发自己的Web服务(Java平台为例)? 以Axis,在Eclipse中开发为例。首先建好一个java工程,然后写java类。然后打包成webService,在项目选中想要做为 Webservice 发布的内容,点
        
阅读全文
 
    
        
        
摘要:观察者模式 "红灯停,绿灯行",在日常生活中,交通信号灯装点着我们的城市,指挥着日益拥挤的城市交通。当红灯亮起,来往的汽车将停止;而绿灯亮起,汽车可以继续前行。在这个过程中,交通信号灯是汽车(更准确地说应该是汽车驾驶员)的观察目标,而汽车是观察者。随着交通信号灯的变化,汽车的行为也将随之而变化,一盏
        
阅读全文