2020-11-30

一年一度黑五晒单大赛!今天你爆单了吗

一年一度黑五晒单大赛!今天你爆单了吗

感恩节过了,欧美传统剁手节日黑色星期五来了,一年一度黑五晒单节日开始了。各位卖家,今天你爆单了吗?

卖家群有人晒了一张截屏,打开订单174,287,销售额2120万美金,买家信息有1237条!一天入账一亿多!爆得不像真实的。

有卖家也顺手截图回应了一下,593个订单,相比平时还是爆了一点。

也有人说欧洲站,平时几十,现在破百了,算是小爆。美国站订单翻番,属于意料之外的惊喜了。

还有大卖干脆就不低调了,抖音发一发,黑五前5个小时卖了3000台吸尘器!这个品牌,有好几款产品都有"Holiday Gift Guide"的标志,单价在70美金左右。黑五这一天,100万美金进账可以期待了!

当然,按照惯例,每年黑五卖家也会相互比惨一下。要说惨况,大家真的是文思泉涌。

更有卖家黑五当天遇到了listing貌似被黑的情况:主图变成别人的产品,产品合规信息也变成了对方参数,而且明明有库存却显示缺货不在售了,连客服都找不到原因。最能卖货的一天结果货卖不了,卖家有苦说不出啊!

对于打工人来说,黑五前这几天也是最辛苦的。

这段时间很多卖家都安排了员工在黑五当天值夜班,有的在黑五当天还要通宵。

为了让员工更有战斗力,上下一心备战大促,大卖每年都做得比较有仪式感。

看看深圳超级大卖赛维晒出来的照片。

再看看傲基的备战装饰。

确实,很多大卖对待大促,真的是装满弹药全力以赴,爆单也是有爆单的道理的!

黑五过后,一直到圣诞,这一个月都处于旺季。希望消费者剁手不要停下来,各位卖家最后一个月加油赚美金!

(来源:跨境屋跨哥)


原文转载:http://fashion.shaoqun.com/a/292209.html

浩方:https://www.ikjzd.com/w/1046

lithium:https://www.ikjzd.com/w/2505

网上1号店:https://www.ikjzd.com/w/2263


感恩节过了,欧美传统剁手节日黑色星期五来了,一年一度黑五晒单节日开始了。各位卖家,今天你爆单了吗? 卖家群有人晒了一张截屏,打开订单174,287,销售额2120万美金,买家信息有1237条!一天入账一亿多!爆得不像真实的。 有卖家也顺手截图回应了一下,593个订单,相比平时还是爆了一点。 也有人说欧洲站,平时几十,现在破百了,算是小爆。美国站订单翻番,属于意料之外的惊喜了。 还有大卖干脆
focalprice:focalprice
parenthood:parenthood
巴黎圣母院简介_法国巴黎圣母院简介 :巴黎圣母院简介_法国巴黎圣母院简介
万达广场、华侨广场无到城轨江门东站直达公交车:万达广场、华侨广场无到城轨江门东站直达公交车
2020秋季澳门一日旅游攻略:2020秋季澳门一日旅游攻略

《装台》首播,张嘉益闫妮对手戏别有风味,人物刻画细腻接地气

原标题:《装台》首播,张嘉益闫妮对手戏别有风味,人物刻画细腻接地气

由张嘉益和闫妮主演的《装台》首播,这部剧主要讲述的是装台人的生活故事,张嘉益饰演的刁顺子代入感太强,三轮车骑得很溜,衣着随意,时不时蹦出一句陕西方言,地域特色非常显著,这给人很写实的感觉。而闫妮和张嘉益的相识也是比较具有戏剧性,本来被三轮车撞到要送医院,估计闫妮饰演的蔡素芬怜惜对方,两人一见钟情,便搭伙过日子。

整部剧有着很强烈的地域风情,镜头下的陕西美食尽收眼底,还有那比较有特色的城中村,各色人等纷纷登场,除了张嘉益和闫妮主演外,宋丹丹、秦海璐和陈小艺等实力派演员都在其中饰演重要角色。特别疤叔非常的吸睛,整个人一出场全是戏,他们家毛蛋儿被小黑狗欺负凶神恶煞的表情,看起来很一本正经,又非常搞笑。

随着剧情的推进,刁顺子的女儿刁菊花出场,这个也是狠角儿,对刁顺子意见很大,惹不起躲得起,女儿在外砸花盆,而刁顺子躲在房里不敢吭声,而蔡素芬也是很无奈,毕竟自己也才刚进门,对刁顺子的女儿也不了解。刁菊花这个角色有点《红楼梦》王熙凤的表现方式,先闻其声后见其人,从声音可以感知到这是个惹不起的硬茬。

这部剧应该是采用写实的手法表现装台人刁顺子平凡而热闹的生活,应该是一部年代剧,给人很浓郁的年代感。从整个布景到刁顺子、蔡素芬等人的衣着来看,应该表现的是年代故事,至少不是当下的故事,因为很多大都市的发展变化都很大,特别像西安这样的古都,变化应该也是不小。

张嘉益和闫妮是老乡,他们合作过《一仆二主》、《少年派》等剧,两人是比较熟悉的好友,所以这默契度非常高,而且演夫妻很像,两人对手戏也是火花四溅。《少年派》收视率很不错,这次再度联手主演《装台》更是驾轻就熟,整个对手戏都很有代入感,对人物的命运充满关怀,希望看到他们接下来的发展。

闫妮这次没有装嫩,也没有很矫情,尺度拿捏还是很到位,张嘉益从所有肢体到台词的表现,都很地道,为人善良,有点憨厚,而且还很怕女儿,这个角色在二集中表现得淋漓尽致,相信接下来会有更为精彩的表现。

陈小艺好像有点严重发福,整个人变化还是很大,她和张嘉益演过很多戏,估计也是非常熟悉的老朋友,而其他配角的戏也很在线,特别刁顺子领着干活的那几个哥们,也是很生活,很鲜活,很有个性。

这部剧写实风格,通过严谨的创作真实再现装台人的生活风貌,这样具有地方特色同时烟火味十足的现实题材的电视剧并不多见,看来也是年度压轴大戏,值得观看。返回搜狐,查看更多

责任编辑:

原文转载:http://yl.shaoqun.com/a/209008.html

米谷:https://www.ikjzd.com/w/1788

慧聪集团:https://www.ikjzd.com/w/1836

蜜芽宝贝:https://www.ikjzd.com/w/1320


原标题:《装台》首播,张嘉益闫妮对手戏别有风味,人物刻画细腻接地气由张嘉益和闫妮主演的《装台》首播,这部剧主要讲述的是装台人的生活故事,张嘉益饰演的刁顺子代入感太强,三轮车骑得很溜,衣着随意,时不时蹦出一句陕西方言,地域特色非常显著,这给人很写实的感觉。而闫妮和张嘉益的相识也是比较具有戏剧性,本来被三轮车撞到要送医院,估计闫妮饰演的蔡素芬怜惜对方,两人一见钟情,便搭伙过日子。整部剧有着很强烈的地域
vat:vat
慧聪商务网:慧聪商务网
广州南沙湿地荷花开了吗?南沙湿地景区有什么花?:广州南沙湿地荷花开了吗?南沙湿地景区有什么花?
亚马逊如何创建变体流程?:亚马逊如何创建变体流程?
移动购物成2020年大热,Wish如何护航商家赢得海外购物季?:移动购物成2020年大热,Wish如何护航商家赢得海外购物季?

一朋友的Java基础面试题及答案(TCP/IP部分)

开场

朋友约的是十点半的面试,提前了十分钟到,然后安静地坐在沙发等待,顺便回忆下之前看的资料。快到十点半时,一个高瘦,穿着格子衫的男子推开门而进,说了句"你好,我们来开始面试吧!",朋友不失礼貌地笑着回了句"行"

面试官:看你简历说精通TCP和IP,那我们来讨论下网络模型和TCP、IP协议,讲下你的理解先

如果大家在学习Java过程中遇到什么问题,或者缺乏相关的Java学习资料,可查看右侧公告栏获取,有问题随问随答,还有我这段时间整理的一些Java学习手册,面试题,开发工具,PDF文档书籍教程,需要的话都可以免费分享给大家。

  • 朋友(怎么一上来就问TCP,不按套路出牌啊,不该问问java基础吗?不过常规题,我还行)

  • 朋友:网络模型一般分七层:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。应用层的协议包括HTTP、FTP、SMTP,而TCP属于传输层,IP协议则属于网络层

  • 朋友:TCP/IP网络模型层次由上到下,层层包装,每一层都对应不同的协议解析,我来画个图

面试官:看你画的图,TCP有自己的首部结构,这都有哪些字段,最好说说它们的作用

  • 朋友(什么鬼!当我百度词典,这怎么记得住?等等,昨天晚上好像看过,有印象)

  • 朋友:继续画个图,直观点

  • 朋友:TCP首部结构先是16位的源端口号和目标端口号、接着是32位的序列号和确认号。再下面就是4bit的头部长度和6个bit的保留位及6bit的标志位

  • 朋友:16位的属性则有窗口大小(控制发送窗口),检验和(校验数据段是否未被修改)及紧急指针。最后是选项,其长度由头部长度决定

  • 朋友:详细说下序列号,它是TCP报文段的一数字编号,为保证TCP可靠连接,每一个发送的数据段都要加上序列号。建立连接时,两端都会随机生成一个初始序列号。而确认号而是和序列号配合使用的,应答某次请求时,则返回一个确认号,它的值等于对方请求序列号加1

  • 朋友:而6个标志位分别是,URG:这是条紧急信息,ACK:应答消息,PSH:缓冲区尚未填满,RST:重置连接,SYN:建立连接消息标志,FIN:连接关闭通知信息

  • 朋友:窗口大小是接收端用来控制发送端的滑动窗口大小

面试官:那TCP和UDP有什么区别

  • 朋友(松了一口气)

  • 朋友:1)连接方面:TCP面向连接。UDP是无连接的,发送数据之前不需要建立连接

  • 朋友:2)安全方面:TCP提供可靠的服务,保证传送的数据,无差错,不丢失,不重复,且按序到达。UDP则是尽最大努力交付,不保证可靠交付

  • 朋友:3)传输效率:TCP传输效率相对较低,UDP传输效率高

面试官:刚才你说TCP是可靠的连接,它是怎么实现的

  • 朋友:TCP的连接是基于三次握手,而断开则是四次挥手

  • 朋友:为了保障数据不丢失及错误(可靠性),它有报文校验、ACK应答、超时重传(发送方)、失序数据重传(接收方)、丢弃重复数据、流量控制(滑动窗口)和拥塞控制等机制

面试官:具体说一说三次握手和四次挥手机制

  • 朋友(又是常规题,晒晒水啦)

  • 朋友:TCP是可靠的双向通道,所以需要三次握手和四次挥手,我来画个图

  • 三次握手

  • 四次挥手

  • 朋友:提前抢答下,关闭连接时需要四次挥手,比建立时多一次,是因为被动关闭端或许还有数据没被送出去,不能像握手时一样,第二次握手既是发起握手也是响应握手

面试官:如果没有三次握手会有什么问题呢

  • 朋友:如果只有两次握手,client发连接请求后不会再ACK服务端的SYN

  • 朋友:此时若客户端因为自身原因判断建立连接失败,可能会重复建立TCP连接,而服务端却会认为那些被client丢弃的TCP还是有效,会白白浪费资源

面试官:TIME_WAIT和CLOSE_WAIT的区别在哪

 

  • 朋友:CLOSE_WAIT是被动关闭形成的;当对方close socket而发送FIN报文过来时,回应ACK之后进入CLOSE_WAIT状态。随后检查是否存在未传输数据,如果没有则发起第三次挥手,发送FIN报文给对方,进入LAST_ACK状态并等待对方ACK报文到来

  • 朋友:TIME_WAIT是主动关闭连接方式形成的;处于FIN_WAIT_2状态时,收到对方FIN报文后进入TIME_WAIT状态;之后再等待两个MSL(Maximum Segment Lifetime:报文最大生存时间)

面试官:TIME_WAIT的作用呢,还有为啥状态时间要保持两个MSL

  • 朋友(这问得太深了吧,老哥。还好昨天偷偷补课了)

  • 朋友:1)TIME_WAIT的作用是为了保证最后一次挥手的ACK报文能送达给对方,如果ACK丢失,对方会超时重传FIN,主动关闭端会再次响应ACK过去;如果没有TIME_WAIT状态,直接关闭,对方重传的FIN报文则被响应一个RST报文,此RST会被动关闭端被解析成错误

  • 朋友:2)存在两个连接,第一个连接正常关闭,第二相同的连接紧接着建立;如果第一个连接的迷路报文到来,则会干扰第二连接,等待两个MSL则可以让上次连接的报文数据消逝在网络后

面试官:刚才你还有提到拥塞控制,TCP协议用什么方式去解决拥塞的

  • 朋友:第一方式是慢启动和拥塞避免

  • 朋友:1)慢启动,TCP发送端会维护一个拥塞窗口(congestionwindow),简称为cwnd。拥塞窗口初始为1个报文段,每经过一次RTT(数据完全发送完到确认的时间),窗口大小翻倍(指数增长,只是前期慢)

  • 朋友:2)拥塞避免,它思路是让拥塞窗口cwnd缓慢增大,发送方的cwnd达到阀值ssthresh(初始值由系统决定的)之后,每经过一个RTT就把拥塞窗口加一,而不是加倍(收到两个或四个确认,都是cwnd+1),cwnd呈线性增加(加法增大)

  • 朋友:(画个图好解析)

  • 朋友:如果遇到网络拥塞,拥塞窗口阀值ssthresh减半,cwnd设置为1,重新进入慢启动阶段

面试官:那拥塞控制还有其他什么方式呢

  • 朋友:快重传和快恢复

  • 朋友:1)快重传是当接收方收到了一个失序的报文,则立马报告给发送方,赶紧重传

  • 朋友:假如接收方M1收到了,M2没有收到,之后的M3、M4、M5又发送了,此时接收方一共连续给发送方反馈了3个M1确认报文。那么快重传规定,发送方只要连续收到3个重复确认,立即重传对方发来的M2(重复确认报文的后一个报文)

  • 朋友:2)快恢复

  • 朋友:当发送方连续收到三个重复确认,ssthresh减半;由于发送方可能认为网络现在没有拥塞,因此与慢启动不同,把cwnd值设置为ssthresh减半之后的值,然后执行拥塞避免算法,cwnd线性增大

  • 朋友:(再来一图)

面试官:知道滑动窗口不,客户端和服务端控制滑动窗口的过程是怎样的

  • 朋友:接收端将自己可以接收的缓冲区大小放入TCP首部中的"窗口大小"字段,通过ACK报文来通知发送端,滑动窗口是接收端用来控制发送端发送数据的大小,从而达到流量控制

  • 朋友:其实发送方的窗口上限,是取值拥塞窗口和滑动窗口两者的最小值

面试官:那你知道滑动窗口和拥塞窗口有什么区别不

  • 朋友:相同点都是控制丢包现象,实现机制都是让发送方发得慢一点

  • 朋友:不同点在于控制的对象不同

  • 朋友:1)流量控制的对象是接收方,怕发送方发的太快,使得接收方来不及处理

  • 朋友:2)拥塞控制的对象是网络,怕发送方发的太快,造成网络拥塞,使得网络来不及处理

面试官:TCP的粘包和拆包问题,你怎么看

  • 朋友:程序需要发送的数据大小和TCP报文段能发送MSS(Maximum Segment Size,最大报文长度)是不一样的

  • 朋友:大于MSS时,而需要把程序数据拆分为多个TCP报文段,称之为拆包;小于时,则会考虑合并多个程序数据为一个TCP报文段,则是粘包;其中MSS = TCP报文段长度-TCP首部长度

  • 朋友:在IP协议层或者链路层、物理层,都存在拆包、粘包现象

面试官:那解决粘包和拆包的方法都有哪些?

  • 朋友:1)在数据尾部增加特殊字符进行分割

  • 朋友:2)将数据定为固定大小

  • 朋友:3)将数据分为两部分,一部分是头部,一部分是内容体;其中头部结构大小固定,且有一个字段声明内容体的大小

面试官:SYN Flood了解吗

  • 朋友:SYN Flood 伪造 SYN 报文向服务器发起连接,服务器在收到报文后用 SYN_ACK 应答,此应答发出去后,不会收到 ACK 报文,造成一个半连接

  • 朋友:若攻击者发送大量这样的报文,会在被攻击主机上出现大量的半连接,耗尽其资源,使正常的用户无法访问,直到半连接超时

面试官:对TCP的掌握挺不错的,下面问下HTTP的知识。你知道一次HTTP请求,程序一般经历了哪几个步骤?

  • 朋友:1)解析域名 -> 2)发起TCP三次握手,建立连接 -> 3)基于TCP发起HTTP请求 -> 4)服务器响应HTTP请求,并返回数据 -> 5)客户端解析返回数据

面试官:HTTP有哪几种响应状态码,列举几个你熟悉的

  • 朋友:大概有以下几种

    • 200:表示成功正常请求

    • 400:语义有误,一般是请求格式不对

    • 401:需求用户验证权限,一般是证书token没通过认证

    • 403:拒绝提供服务

    • 404:资源不存在

    • 500:服务器错误

    • 503:服务器临时维护,过载;可恢复

面试官:不错,再考考你,session和cookie有什么区别

  • 朋友:1)存储位置不同,cookie是保存在客户端的数据;session的数据存放在服务器上

  • 朋友:2)存储容量不同,单个cookie保存的数据小,一个站点最多保存20个Cookie;对于session来说并没有上限

  • 朋友:3)存储方式不同,cookie中只能保管ASCII字符串;session中能够存储任何类型的数据

  • 朋友:4)隐私策略不同,cookie对客户端是可见的;session存储在服务器上,对客户端是透明对

  • 朋友:5)有效期上不同,cookie可以长期有效存在;session依赖于名为JSESSIONID的cookie,过期时间默认为-1,只需关闭窗口该session就会失效

  • 朋友:6)跨域支持上不同,cookie支持跨域名访问;session不支持跨域名访问

面试官:不错,那你了解什么是HTTP分块传送吗

  • 朋友:分块传送是HTTP的一种传输机制,允许服务端发送给客户端的数据分成多个部分,该协议在HTTP/1.1提供

面试官:HTTP分块传送有什么好处

  • 朋友:HTTP分块传输编码允许服务器为动态生成的内容维持HTTP持久连接

  • 朋友:分块传输编码允许服务器在最后发送消息头字段。对于那些头字段值在内容被生成之前无法知道的情形非常重要,例如消息的内容要使用散列进行签名

  • 朋友:HTTP服务器有时使用压缩 (gzip或deflate)以缩短传输花费的时间。分块传输编码可以用来分隔压缩对象的多个部分。在这种情况下,块不是分别压缩的,而是整个负载进行压缩。分块编码有利于一边进行压缩一边发送数据

面试官:HTTP的长连接你怎么理解

  • 朋友:长连接是指客户端和服务建立TCP连接后,它们之间的连接会持续存在,不会因为一次HTTP请求后关闭,后续的请求也是用这个连接

  • 朋友:长连接可以省去TCP的建立和关闭操作,对于频繁请求的客户端适合使用长连接,但是注意恶意的长连接导致服务受损(建议内部服务之间使用)

面试官:HTTP是安全的吗?怎么做到安全的HTTP协议传输

  • 朋友:并非安全,HTTP传输的数据都是明文的,容易被第三方截取;要做安全传输数据,可以使用HTTP的升级版HTTPS协议

面试官:HTTPS和HTTP的区别,你是怎么理解的

  • 朋友:1)http协议的连接是无状态的,明文传输

  • 朋友:2)HTTPS则是由SSL/TLS+HTTP协议构建的有加密传输、身份认证的网络协议

面试官:SSL/TLS是什么,HTTPS的安全性是怎样实现的?

  • 朋友:SSL(Secure Socket Layer 安全套接层)是基于HTTPS下的一个协议加密层,保障数据私密性。TLS(Transport Layer Security)则是升级版的SSL

  • 朋友:https在http基础加了一层安全认证及加密层TLS或者SSL,它首先会通过安全层进行ca证书认证,正确获取服务端的公钥

  • 朋友:接着客户端会通过公钥和服务端确认一种加密算法,后面的数据则可以使用该加密算法对数据进行加密


原文作者:cscw
链接:https://juejin.cn/post/6900439208641921038
来源:掘金

 









原文转载:http://www.shaoqun.com/a/493367.html

www.made-in-china.com:https://www.ikjzd.com/w/2777

海淘贝:https://www.ikjzd.com/w/1726

xinong:https://www.ikjzd.com/w/1368


开场朋友约的是十点半的面试,提前了十分钟到,然后安静地坐在沙发等待,顺便回忆下之前看的资料。快到十点半时,一个高瘦,穿着格子衫的男子推开门而进,说了句"你好,我们来开始面试吧!",朋友不失礼貌地笑着回了句"行"面试官:看你简历说精通TCP和IP,那我们来讨论下网络模型和TCP、IP协议,讲下你的理解先如果大家在学习Java过程中遇到什么问题,或者缺乏相关的Java学习资料,可查看右侧公告栏获取,有
飞书互动:飞书互动
斑马物流:斑马物流
亚马逊Q2绝地反击,找低销量原因,让你的废店起死回生 :亚马逊Q2绝地反击,找低销量原因,让你的废店起死回生
厦门翔安哪些地方好玩?:厦门翔安哪些地方好玩?
云南大理有什么好吃的美食?:云南大理有什么好吃的美食?

博卡破门后全队致敬马拉多纳长女 美少妇瞬间泪崩_卡多纳

原标题:博卡破门后全队致敬马拉多纳长女 美少妇瞬间泪崩

博卡青年与纽维尔老男孩之战,是马拉多纳两个老东家之间的较量。在糖果盒球场,博卡青年最终2-0赢得了胜利。相比这场胜利本身,博卡球员们对马拉多纳及其大女儿达尔马的致敬,更加令人印象深刻,更加令人动容。

在马拉多纳去世后,阿根廷联赛中所有球员在亮相时,都会身穿老马特制款阿根廷战袍。博卡青年球员此役更加奇葩,所有球员背后都没有印上自己的姓氏,而是印着"马拉多纳"。能区别球员的,就只剩下了球衣号码了。

在第12分钟时,卡多纳禁区弧顶踢进任意球,他用右脚将球轻松送入球门远端死角。在进球后,卡多纳带着博卡全队飞奔到马拉多纳私人包厢下。在包厢中,坐着马拉多纳大女儿达尔马。博卡全队将这个进球献给达尔马,33岁的美少妇瞬间泪如雨下。

20分钟时,卡多纳梅开二度,他在禁区左侧小角度推射破门。在为博卡锁定胜局之后,卡多纳先是手指队徽,然后双手指向天空,他把这个进球献给了天堂中的马拉多纳。

在比赛结束后,博卡全队再次致敬达尔马。阿维拉对着马拉多纳包厢指着自己的右侧额头,老马在效力博卡时,曾长时间将右侧额头染成博卡标志色黄色。随后博卡全队来到包厢下,向达尔马鼓掌致敬。达尔马一边说着"谢谢"一边尽量克制情绪,但最终还是忍不住激动的泪水。

返回搜狐,查看更多

责任编辑:

原文转载:http://sport.shaoqun.com/a/372634.html

知无不言:https://www.ikjzd.com/w/1308

敦煌网:https://www.ikjzd.com/w/189

c-tick认证:https://www.ikjzd.com/w/2074


原标题:博卡破门后全队致敬马拉多纳长女美少妇瞬间泪崩博卡青年与纽维尔老男孩之战,是马拉多纳两个老东家之间的较量。在糖果盒球场,博卡青年最终2-0赢得了胜利。相比这场胜利本身,博卡球员们对马拉多纳及其大女儿达尔马的致敬,更加令人印象深刻,更加令人动容。在马拉多纳去世后,阿根廷联赛中所有球员在亮相时,都会身穿老马特制款阿根廷战袍。博卡青年球员此役更加奇葩,所有球员背后都没有印上自己的姓氏,而是印着"马
欧舒丹:欧舒丹
淘粉吧返利:淘粉吧返利
2020元旦深圳欢乐海岸灯会活动?深圳欢乐海岸灯会元旦晚上:2020元旦深圳欢乐海岸灯会活动?深圳欢乐海岸灯会元旦晚上
【海岛旅游推荐】国内海岛旅游排名,中国最美的十大海岛:【海岛旅游推荐】国内海岛旅游排名,中国最美的十大海岛
全球最短的地铁全程仅2站 :全球最短的地铁全程仅2站

分库分表就能无限扩容吗?

作者:莫那 鲁道
thinkinjava.cn/2019/01/15/2019-01-16-fkfb/
2019-04-26 08:51:00

让我们从最初开始。

1、单体应用

每个创业公司基本都是从类似 SSM 和 SSH 这种架构起来的,没什么好讲的,基本每个程序员都经历过。

2、RPC 应用

当业务越来越大,我们需要对服务进行水平扩容,扩容很简单,只要保证服务是无状态的就可以了,如下图:

当业务又越来越大,我们的服务关系错综复杂,同时,有很多服务访问都是不需要连接 DB 的,只需要连接缓存即可,那么就可以做成分离的,减少 DB 宝贵的连接。如下图:

我相信大部分公司都是在这个阶段。Dubbo 就是为了解决这个问题而生的。分布式 | Dubbo 架构设计详解,这篇文章看下。

3、分库分表

如果你的公司产品很受欢迎,业务继续高速发展,数据越来越多,SQL 操作越来越慢,那么数据库就会成为瓶颈,那么你肯定会想到分库分表,不论通过 ID hash 或者 range 的方式都可以。如下图:

这下应该没问题了吧。任凭你用户再多,并发再高,我只要无限扩容数据库,无限扩容应用,就可以了。关注Java技术栈微信公众号,在后台回复关键字:架构,可以获取更多栈长整理的架构技术干货。

这也是本文的标题,分库分表就能解决无限扩容吗?

实际上,像上面的架构,并不能解决。

其实,这个问题和 RPC 的问题有点类似:数据库连接过多!!!

通常,我们的 RPC 应用由于是使用中间件进行访问数据库,应用实际上是不知道到底要访问哪个数据库的,访问数据库的规则由中间件决定,例如 sharding JDBC。这就导致,这个应用必须和所有的数据库连接,就像我们上面的架构图一样,一个 RPC 应用需要和 3 个 mysql 连接,如果是 30 个 RPC 应用,每个 RPC 的数据库连接池大小是8 ,每个 mysql 需要维护 240 个连接,我们知道,mysql 默认连接数是 100,最大连接数是 16384,也就是说,假设每个应用的连接池大小是 8 ,超过 2048 个应用就无法再继续连接了,也就无法继续扩容了。注意,由于每个物理库有很多逻辑库,再加上微服务运动如火如荼, 2048 并没有看起来那么大。

也许你说,我可以通过前面加一个 proxy 来解决连接数的问题,实际上,代理的性能也会成为问题,为什么?代理的连接数也是不能超过 16384 的,如果并发超过 16384,变成 163840,那么 proxy 也解决不了问题。

怎么办?****让我们再看看上面的架构图:

我们发现,问题是出在"每个 RPC 应用都要连所有的库",导致扩容应用的同时,每个数据库连接数就要增加。就算增加数据库,也不能解决连接数的问题。

那怎么办呢?关注Java技术栈微信公众号,在后台回复关键字:架构,可以获取更多栈长整理的架构技术干货。

单元化

单元化,听起来高大上,通常在一些 XXX 大会上,分享"关于两地三中心","三地五中心","异地多活"等等牛逼的名词的时候,单元化也会一起出现。

这里我们不讨论那么牛逼的,就只说"数据库连接数过多" 的问题。

实际上,思路很简单:我们不让应用连接所有的数据库就可以了。

假设我们根据 range 分成了 10 个库,现在有 10 个应用,我们让每个应用只连一个库,当应用增多变成 20个,数据库的连接不够用了,我们就将 10 个库分成 20 个库,这样,无论你应用扩容到多少个,都可以解决数据库连接数过多的问题。

注意:做这件事的前提是:你必须保证,访问你这个应用的 request 请求的数据库一定是在这个应用的。s

换个说法,当用户从 DNS 那里进来的时候,就知道自己要去那个应用了,所以,规则在 DNS 之前就定好了,虽然这有点夸张,但肯定在进应用之前就知道要去哪个库了。

所以,这通常需要一个规则,例如通过用户 ID hash,由配置中心广播 hash 规则。这样,所有的组件都能保持一致的规则,从而正确的访问到数据库。如下图:

到这里,我们终于解决了无限扩容的问题。

最后

本文从单体应用开始,逐步讲述了一个正常后台的演进历程,知道了分库分表并不能解决"无限扩容" 的问题,只有单元化才能解决这问题。而单元化则带来更多的复杂性。但是好处不言而喻。

单元化带来的更多的思路。

有了单元化,解决了无限扩容的问题,但是我们还没有考虑单点的问题,即服务的可用性。要知道,我们这里的数据库都是单点的。

近期热文推荐:

1.Java 15 正式发布, 14 个新特性,刷新你的认知!!

2.终于靠开源项目弄到 IntelliJ IDEA 激活码了,真香!

3.我用 Java 8 写了一段逻辑,同事直呼看不懂,你试试看。。

4.吊打 Tomcat ,Undertow 性能很炸!!

5.《Java开发手册(嵩山版)》最新发布,速速下载!

觉得不错,别忘了随手点赞+转发哦!









原文转载:http://www.shaoqun.com/a/493360.html

米兰网:https://www.ikjzd.com/w/1304.html

zappos.com:https://www.ikjzd.com/w/330

c2c:https://www.ikjzd.com/w/1576


作者:莫那鲁道thinkinjava.cn/2019/01/15/2019-01-16-fkfb/2019-04-2608:51:00让我们从最初开始。1、单体应用每个创业公司基本都是从类似SSM和SSH这种架构起来的,没什么好讲的,基本每个程序员都经历过。2、RPC应用当业务越来越大,我们需要对服务进行水平扩容,扩容很简单,只要保证服务是无状态的就可以了,如下图:当业务又越来越大,我们的服务关系
萌店:萌店
亚马逊t恤:亚马逊t恤
惠州川龙峡漂流带雨衣吗?川龙峡漂流需要自带什么?:惠州川龙峡漂流带雨衣吗?川龙峡漂流需要自带什么?
畅游加拿大全攻略 :畅游加拿大全攻略
在杭州西湖坐游船船票是多少钱?:在杭州西湖坐游船船票是多少钱?