对netty和并发的理解

  今天介绍一些模型,是自己对netty和并发联合总结,受限文学功底和视野所限。希望大家指点。
  并发实际是对资源的统一调度。刚开始时候总觉得并发好像缺点啥,总觉得线程池实现怪怪的,既然一个队列放多余的请求那要队列也满了,不考虑拒绝策略呢?或者拒绝掉的也是用户需要的呢?于是在netty的内存模型中得到了印证。netty是对nio的封装,而nio又是对bio的优化,因为bio是对io的一对一操作,当一个客户端链接服务端,而其他客户端就要排队等着。而这也是nio利用了selector选择器,对bio进行了优化。而netty既分装了nio也对nio进行了补充优化。nio虽然相比bio优化了不少,如果实现时候再配合线程池,可以更加完美,但却依然有缺点。那就是并发时候对选择器的挑战。于是netty对这个缺陷在netty模型时候得到了弥补,那就是加了多个类似于selector的东西,提高了并发。只要量够大,那reactor就可以配置多个。netty的直接应用是聊天功能,而它最直接的就是微信和QQ群聊天。实现聊天很简单的,实现像QQ一样承受大量用户需要配合并发。而我们可以猜测微信诞生的原因,他既然是阉割的qq为什么还要出现呢?而且聊天功能实现不难,为什么没人做呢?原因应该是微信的出现它应该定位的是平台,而不是像平时的软件。微信更多的是在说一个生态,像个大人,他看的是长远利益,那就是平台,整合资源。它的盈利不在聊天。而QQ更像个小孩,在打扮完善的是自己。因此出现了一个结论。因此一个好的软件在做平台,一个好的平台就像积木一样可以进化。而这个时候需要一个有远见的架构师,而一个好的架构来源于生活,正如程序员修炼之道一书所说,提升技术的最好方式就是观察于生活,一个好的系统模仿社会架构,一个好的社会架构来源于生态生命的顿悟。
  分布式微服务就是对现实的模仿,单体项目就像一个小公司,当公司发展好,活多了。现在公司人员忙不过来,这时候就需要加人。这就是单体服务器转变为集群的体现。当公司业务量再次变大时候,如果一个人什么都干那他就会混乱,这时候,就需要让他负责一个流程的一个环节,这时候就微服务诞生了。当公司做到全球,一个好的领导除了考虑工作分工,还要考虑效率。一个环节,有大量的相同事件组成,这时候需要每人分一些这样事件,这样单位时间效率就上来了。这时候分布式就诞生了。当公司太大,如果有一个部门出了问题,这时候就对公司影响太大,于是一个部门慢慢形成了子公司,这时候熔断机制应用而生。当公司的子公司太多怕记不清楚时候年底忘了收钱,这时候有人提议做个账簿,把所有公司都记在一个本上,年底了拿着账簿去一个一个收营业额。这时候注册中心诞生了。当公司出现了一个大的对手,任何一个部门或子公司都无法对抗时,这时需要大家步调一致。这个时候事务机制诞生了。当人员太多,老板不是天才时候,不能及时响应,这时候需要订立制度,这时就是老板短路了,大家都可以按部就班。这时候缓存出现了。因此一个系统的实现就是对生活无限的接近模拟。一个社会的井然有序就是对生物的模拟,比如一个细胞虽然小,但是它自己里面却有完整的运行机制。共同探讨学习技术创建技术氛围Day9884125
  懂了这些,我们可以猜测一下12306为什么现在没有当初那样慢了,双十一为什么阿里的代码是临时的。因为大量数据只有短暂出现,那么一直使用太先进的东西是对资源的浪费。12306变得顺畅许多,我们可以猜测它的数据库中表一个地区就是一个表,一个省就是一个库,跨省沟通需要违反三范式进行数据冗余设计以此提升响应速度,为了提升速度,在下单时方便快速响应用户,这时候需要加一些队列。队列容量和库存数量对象,超出队列的触发拒绝策略。这时候没抢到票的,可以提前伤心了,不用希望越大失望越大了。当用户越来越大,最后再加入分布式,也就可以继续续命多活几年。
  因此防御黑客的ddos攻击的方法方式也就有了。当你的资金足够富裕。那么就可以扩展服务器负载均衡分担你的压力。当你为了省钱,这时候就要明白ddos攻击是黑客绑定了肉鸡。这时候不同地区分摊不同肉鸡,为了区别肉鸡真假,你可以添加令牌,等等。因此最后技术是变化的,底层却是微乎其微的。大部分新技术都是对底层的应用和弥补,懂了它你就不用趋之若鹜了。一个优秀的架构师也是一个好的ceo,一个好的医生也会成为一个好的架构师,这就是降维打击。触类旁通。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值