多线程/”三高“/分布式的思考

菜狗本人,多一些模糊概念的整理。欢迎大家指点,但拒绝指指点点。

多线程?

线程和进程的概念

举例:
打开一个应用——》一个进程
在该应用中可以进行多个功能操作——》多个线程

多线程

从软件/硬件上实现多个线程并发执行的技术。具体多线程能力可以在同一时间执行多个线程。
一种异步处理方式。

多线程实现原理

并发执行机制:把一个处理器划分为若干个短的时间片,每个时间片一次轮流执行各个应用程序。(涉及资源调度?

多线程存在问题

1.线程安全
2.死锁


高并发?高并发==多线程?

保证系统能够同时处理多个请求。
高并发是系统运行的一种状态,是系统运行过程中遇到的一种短时间内大量操作请求(12306的抢票情况;双十一)的情况,主要发生在web系统集中大量访问或者socket端口集中性收到大量请求。这种多个请求的状态会对系统带来挑战。比如资源的请求,数据库操作等。
因此应对产生各种方案进行优化:硬件、网络、系统架构、开发语言选取、数据结构的运用、算法优化、数据库优化等…多线程只是其中一种解决方案。

常用的解决方案

系统拆分、缓存(读多写少场景)、MQ消息队列、分库分表、读写分离(主从架构,主写从读)

高并发的常用指标

响应时间RT(Response-time)、
每秒查询率QPS(Queries Per Second),
每秒事务TPS(Transactions Per Second)
并发用户数
吞吐量
线程数

高性能 高可用

是高并发处理后的结果?


分布式?-----集群

解决单个物理服务器容量和性能瓶颈问题而采取的优化手段。

分布式带来的挑战

部署难、运维不简单;
网络瓶颈和故障;
节点失效要有觉察和热替换机制;
一致性问题–分布式事务;
负载均衡的效果等等等等。。。

分布式的解决方案

不同层面水平扩展有不同的解决:

  • 反向代理层:”DNS轮询“
  • 站点层:nginx
  • Web服务器层(七层):负载均衡、请求分发
  • 数据层:分布式文件系统、分布式缓存、分布式数据库、分布式计算。对应技术:Hadoop、zookeeper、MQ;

分布式理论

CAP

一致性、可用性、分区容错性 只能保证CP/AP
ZK、HBase是CP架构,Eureka是AP架构,Nacos不仅支持CP也支持AP架构。

BASE

BA:基本可用、S:软状态、E:最终一致性
基本可用:允许部分损失,比如响应时间、系统功能(保证核心功能的使用
软状态:允许数据不一致。允许不同节点的数据副本之间进行数据同步时存在延时。
最终一致性:经过一段时间后最终的数据要保证一致。


  • 总结:高并发是一种状态,分布式、多线程都是实现高并发的方式,分布式可以将不同的流量分到不同的物理服务器,多线程可以将一台服务器的服务能力最大化。高可用、高性能是结果。
    针对微服务和分布式还是需要做区分。明天整理。
    另外,针对这些情况各自的锁需要整理。线程锁、进程锁、分布式锁的区别。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值