软件开发过程当中,必然会接触到一个概念“人月”,当然也还有另外的一个概念“人日”,这都是对研发工作量的评估。 沟通成本 分工协调 这涉及到工作量与进度,比如:20个人10个月的工作量是10个人干10个月的工作量的2倍,但是这个工作量并不代表20个人的进度就比10个人的进度快,因为中间有些因素要考虑, ...
分类:
其他好文 时间:
2020-06-13 10:35:16
阅读次数:
49
1、Semaphore Semaphore(信号量)是用来控制同时访问特定资源的线程数量,它通过协调各个线程,以保证合理的使用公共资源,它是共享锁的方式。 Semaphore可以用于做流量控制,特别是公用资源有限的应用场景。 1.1 构造方法 public Semaphore(int permits ...
分类:
其他好文 时间:
2020-06-13 00:11:03
阅读次数:
79
TypeScript在Model中的高级应用 在MVC、MVVC等前端经典常用开发模式中,V、C往往是重头戏,可能是前端业务主要集中这两块。结合实际业务,笔者更喜欢路由模式、插件式设计,这种在迭代和维护上更能让开发者收益(不过你需要找PM协调这事,毕竟他们理解的简化用户体验,多半是怎么让用户操作简单 ...
分类:
其他好文 时间:
2020-06-12 21:41:52
阅读次数:
216
在软件开发过程中变更是不可避免的,而变更时由于没有进行变更控制,可能加剧了项目中的混乱,为了协调软件开发使得混乱减到最小,使用配置管理技术,使变更所产生的错误达到最小并最有效的提高生产率。 软件配置管理(Software Configure Management,SCM)用于整个软件工程过程。其主要 ...
分类:
其他好文 时间:
2020-06-12 00:35:29
阅读次数:
90
ZooKeeper简介 ZooKeeper是一个开源的分布式协调服务,由雅虎创建,是Google Chubby的开源实现。ZooKeeper的设计目标是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集,并以一系列简单易用的接口提供给用户使用。 分布式应用程序可以基于它实现诸如 ...
分类:
其他好文 时间:
2020-06-11 21:34:51
阅读次数:
66
1.ZooKeeper 是什么?
ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,
它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易
用的接口和性能高效、功能稳定的系统提供给用户。
客户端的读请求可以被集群中的任意一台机器处理,如果读请求在节点上注册了监听器,这个监听器也是由所
连接的 zookeeper 机器来处理。对于写请求,这些请求会同时发给其他 zookeeper 机器并且达成一致后,请
求才会返回成功。因此,随着 zookeeper 的集群机器增多,读请求的吞吐会提高但是写请求的吞吐会下降。
有序性是 zookeeper 中非常重要的一个特性,所有的更新都是全局有序的,每个更新都有一个唯一的时间戳,
这个时间戳称为 zxid(Zookeeper Transaction Id)。而读请求只会相对于更新有序,也就是读请求的返回
结果中会带有这个 zookeeper 最新的 zxid。
分类:
其他好文 时间:
2020-06-10 17:36:17
阅读次数:
103
能说也许能解决一些一般的问题吧,比如常见的团队内部之间的协调。 如果说能说的人能解决高难度的问题,那一定是因为他更会思考!比如用人的问题、战略的分析。 而面对技术的难题、架构的设计,可能明显的不那么重要了,认知和思考也许更重要了! 而基础技术的难题,比如现在的5G和芯片等,那就需要专业级或者很深度的 ...
分类:
其他好文 时间:
2020-06-10 17:34:20
阅读次数:
68
为什么会有ZooKeeper我们知道要写一个分布式应用是非常困难的,主要原因就是局部故障。一个消息通过网络在两个节点之间传递时,网络如果发生故障,发送方并不知道接收方是否接收到了这个消息。有可能是收到消息以后发生了网络故障,也有可能是没有收到消息,又或者可能接收方的进程死了。发送方唯一的确认方法就是再次连接发送消息,并向他进行询问。这就是局部故障:根本不知道操作是否失败。因此,大部分分布式应用需要
分类:
其他好文 时间:
2020-06-10 09:29:33
阅读次数:
70
锁既是给公共资源增加限制。如果是死锁的必须满足以下四个条件,互斥,不可剥夺,请求与保持, 循环等待,只要系统出现死锁,这四个条件必须成立。 信号量,有时被称为信号灯。是在多线程环境下使用的一种设施,他负责协调各个线程,以保证他们能够正确、合理的使用公共资源。 互斥:是指某一资源同时只允许一个访问者对 ...
分类:
编程语言 时间:
2020-06-08 23:56:21
阅读次数:
123
1.redis集群必不可少的工具: 1.1 redis 1.2 redis集群搭建工具:redis-trib.rb(类似于IIS协调调度) 将redis分为主从节点 1.3 Ruby 安装Ruby的运行环境 1.4 Ruby环境下的redis驱动:redis-3.2.2.gem 2. 什么是高性能高 ...
分类:
其他好文 时间:
2020-06-08 23:27:03
阅读次数:
75