微服务2.0时代,论其痛点与触点



微服务自2014年3月由Martin Fowler首次提出以来,在Spring CloudDubbo等各类微服务框架的帮助下,以燎原之势席卷了整个IT技术界,成为了最主流的分布式应用解决方案。但仍然还有很多问题没有得到根本性的解决,比如技术门槛高、多语言支持不足、代码侵入性强等。如何应对这些挑战成为了下一代微服务首要回答的问题。直到服务网格(Service Mesh)被提出,这一切都有了答案。

1 微服务之殇

时光回到2017年初,那时所有主流的微服务框架,不管是类库性质的FinagleHystrix,还是框架性质的Spring Cloud、Dubbo,本质上都归于应用内解决方案,都存在以下三个问题:

  • 技术门槛高:随着微服务实施水平的不断深化,除了基础的服务发现配置中心授权管理之外,团队将不可避免的在服务治理层面面临各类新的挑战,包括但不限于分布式跟踪、熔断降级、灰度发布、故障切换等,这对团队提出了非常高的技术要求。

 

 

  • 多语言支持不足:对于稍具规模的团队,尤其在高速成长的互联网创业公司,多语言的技术栈是常态,跨语言的服务调用也是常态,但目前开源社区上并没有一套统一的、跨语言的微服务技术栈。
  • 代码侵入性强:主流的微服务框架(比如Spring Cloud、Dubbo)或多或少都对业务代码有一定的侵入性,框架替换成本高,导致业务团队配合意愿低,微服务落地困难。

这些问题加起来导致的结果就是,在实施微服务的过程中,小团队Hold不住,大公司推不动。

2 另辟蹊径

如何解决上述三个问题呢?最容易想到的是代理模式,在LB层(比如NginxApache HTTP Server)处理所有的服务调用,以及部分服务治理问题(比如分布式跟踪、熔断降级)。但这个方案有两个显著的缺点,第一,中心化架构,代理端自身的性能和可用性将是整个系统的瓶颈;第二,运维复杂度高,业务团队笑了,运维团队哭了。

难道这就是桃园吗?

服务网格(Service Mesh)应运而生!自2016年9月Linkerd第一次公开使用之后,伴随着LinkerdEnvoyIstioNGINX Application PlatformConduit等新框架如雨后春笋般不断涌现,在微服务之后,服务网格和它的边车(Sidecar)模式引领了IT技术界2017一整年的走向。

3 服务框架选型

服务框架是一个比较成熟的领域,有太多可选项。 Spring Boot/Cloud 由于Spring社区的影响力和Netflix的背书,目前可以认为是构建Java微服务的一个社区标准,Spring Boot目前在github上有超过20k星。基于Spring的框架本质上可以认为是一种RESTful框架(不是RPC框架),序列化协议主要采用基于文本的JSON,通讯协议一般基于HTTP。RESTful框架天然支持跨语言,任何语言只要有HTTP客户端都可以接入调用,但是客户端一般需要自己解析payload。目前Spring框架也支持Swagger契约编程模型,能够基于契约生成各种语言的强类型客户端,极大方便不同语言栈的应用接入,但是因为RESTful框架和Swagger规范的弱契约特性,生成的各种语言客户端的互操作性还是有不少坑的。

Dubbo是阿里多年构建生产级分布式微服务的技术结晶,服务治理能力非常丰富,在国内技术社区具有很大影响力,目前github上有超过16k星。Dubbo本质上是一套基于Java的RPC框架,当当Dubbox扩展了Dubbo支持RESTful接口暴露能力。Dubbo主要面向Java 技术栈,跨语言支持不足是它的一个弱项,另外因为治理能力太丰富,以至于这个框架比较重,完全用好这个框架的门槛比较高,但是如果你的企业基本上投资在Java技术栈上,选Dubbo可以让你在服务框架一块站在较高的起点上,不管是性能还是企业级的服务治理能力,Dubbo都做的很出色。新浪微博开源的Motan(github 4k stars)也不错,功能和Dubbo类似,可以认为是一个轻量裁剪版的Dubbo。

gRPC是谷歌近年新推的一套RPC框架,基于protobuf的强契约编程模型,能自动生成各种语言客户端,且保证互操作。支持HTTP2是gRPC的一大亮点,通讯层性能比HTTP有很大改进。Protobuf是在社区具有悠久历史和良好口碑的高性能序列化协议,加上Google公司的背书和社区影响力,目前gRPC也比较火,github上有超过13.4k星。目前看gRPC更适合内部服务相互调用场景,对外暴露HTTP RESTful接口可以实现,但是比较麻烦(需要gRPC Gateway配合),所以对于对外暴露API场景可能还需要引入第二套HTTP RESTful框架作为补充。总体上gRPC这个东西还比较新,社区对于HTTP2带来的好处还未形成一致认同,建议谨慎投入,可以做一些试点。

4 服务网格

4.1 元定义

首先,我们来看一下服务网格的提出者William Morgan是如何描述它的。

A service mesh is a dedicated infrastructure layer for handling service-to-service communication. Consists of a control plane and data plane (service proxies act as “mesh”). – William Morgan, What’s a Service Mesh? And Why Do I Need One?

上面这段话非常清晰的指明了服务网格的职责,即处理服务间通讯,这正是服务治理的核心所在。而a dedicated infrastructure layer这几个单词将服务网格和之前所有的微服务框架(framework)划清了界限,也即服务网格独立于具体的服务而存在,这从根本上解决了前文提到的老的微服务框架在多语言支持和代码侵入方面存在的问题。并且,由于服务网格的独立性,业务团队不再需要操心服务治理相关的复杂度,全权交给服务网格处理即可。

那你可能会问,这不跟之前提到的代理模式差不多吗?区别在于服务网格独创的边车模式。针对每一个服务实例,服务网格都会在同一主机上一对一并行部署一个边车进程,接管该服务实例所有对外的网络通讯(参见下图)。这样就去除了代理模式下中心化架构的瓶颈。同时,借助于良好的框架封装,运维成本也可以得到有效的控制。

 

 

4.2 演化史

追本溯源,服务网格从无到有可分为三个演化阶段(参见下图)。第一个阶段,每个服务各显神通,自行处理对外通讯。第二个阶段,所有服务使用统一的类库进行通讯。第三个阶段,服务不再关心通讯细节,统统交给边车进程,就像在TCP/IP协议中,应用层只需把要传输的内容告诉TCP层,由TCP层负责将所有内容原封不动的送达目的端,整个过程中应用层并不需要关心实际传输过程中的任何细节。

 

 

4.3 时间线

最后,再来回看一下服务网格年轻的历史。虽然服务网格的正式提出是在2016年9月,但其实早在2013年,Airbnb就提出了类似的想法——SmartStack,只不过SmartStack局限于服务发现,并没有引起太多关注,类似的还有Netflix的Prana和唯品会的OSP Local Proxy。2016年服务网格提出之后,以Linkerd和Envoy为代表的框架开始崭露头角,并于2017年先后加入CNCF基金(Cloud Native Computing Foundation),最终促使了一代新贵Istio的诞生。2018年,Istio将发布1.0版本,这也许意味着微服务开始进入2.0时代。

 

 

5 后台服务选型

后台服务主要包括消息系统,分布式缓存,分布式数据访问层和任务调度系统。后台服务是一个相对比较成熟的领域,很多开源产品基本可以开箱即用。

消息系统,对于日志等可靠性要求不高的场景,则Apache顶级项目 Kafka 是社区标配。对于可靠性要求较高的业务场景,kafka其实也是可以胜任,但企业需要根据具体场景,对 Kafka的监控和治理能力进行适当定制完善,Allegro公司开源的 hermes 是一个可参考项目,它在Kafka基础上封装了适合业务场景的企业级治理能力。阿里开源的 RocketMQ也是一个不错选择,具备更多适用于业务场景的特性,目前也是Apache顶级项目。 RabbitMQ是老牌经典的MQ,队列特性和文档都很丰富,性能和分布式能力稍弱,中小规模场景可选。

对于 缓存治理 ,如果倾向于采用客户端直连模式(个人认为缓存直连更简单轻量),则SohuTv开源的 cachecloud 是一款不错的Redis缓存治理平台,提供诸如监控统计,一键开启,自动故障转移,在线伸缩,自动化运维等生产级治理能力,另外其文档也比较丰富。如果倾向采用中间层Proxy模式,则Twitter开源的 twemproxy和CodisLab开源的 codis是社区比较热的选项。

对于 分布式数据访问层 ,如果采用Java技术栈,则当当开源的 shardingjdbc是一个不错的选项,分库分表逻辑做在客户端jdbc driver中,客户端直连数据库比较简单轻量,建议中小规模场景采用。如果倾向采用数据库访问中间层proxy模式,则从阿里Cobar演化出来的社区开源分库分表中间件 MyCAT是一个不错选择 。proxy模式运维成本较高,建议中大规模场景,有一定框架自研和运维能力的团队采用。

任务调度系统,个人推荐徐雪里开源的 xxl-job,部署简单轻量,大部分场景够用。当当开源的 elastic-job也是一个不错选择,相比xxl-job功能更强一些也更复杂。

6 架构技术范围

为解决单体架构下的各种问题,微服务架构应运而生。与其构建一个臃肿庞大、难以驯服的怪兽,还不如及早将服务拆分。微服务的核心思想便是服务拆分与解耦,降低复杂性。微服务强调将功能合理拆解,尽可能保证每个服务的功能单一,按照单一责任原则(Single Responsibility Principle)明确角色。 将各个服务做轻,从而做到灵活、可复用,亦可根据各个服务自身资源需求,单独布署,单独作横向扩展。

微服务技术是程序员绕不开的话题,在这里给大家推荐一个交流学习群:650385180,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,以下的课程体系图也是在群里获取。相信对于已经工作和遇到技术瓶颈的码友,在这个群里会有你需要的内容。

 

7 小结

 

以上就是我对服务网格的一些简单介绍,欢迎留言交流,和大家一起过过招。

 


文章来源:http://www.cnblogs.com

原文地址:https://www.cnblogs.com/lfs2640666960/p/9119607.html

MyBatis自定义Plugin



作用

官方说明:

MyBatis 允许你在已映射语句执行过程中的某一点进行拦截调用。

什么意思呢?就是你可以对执行某些方法之前进行拦截,做自己的一些操作,如:

1.记录所有执行的SQL(通过对 MyBatis org.apache.ibatis.executor.statement.StatementHandler 中的prepare 方法进行拦截)

2.修改SQL(org.apache.ibatis.executor.Executor中query方法进行拦截)等。

但拦截的方法调用有限制,MyBatis 允许使用插件来拦截的方法调用包括:

  • Executor (update, query, flushStatements, commit, rollback, getTransaction, close, isClosed)
  • ParameterHandler (getParameterObject, setParameters)
  • ResultSetHandler (handleResultSets, handleOutputParameters)
  • StatementHandler (prepare, parameterize, batch, update, query)

实现

使用插件是非常简单的,只需实现 Interceptor 接口,并指定想要拦截的方法签名即可。

// ExamplePlugin.java
@Intercepts({@Signature(
  type= Executor.class,
  method = "update",
  args = {MappedStatement.class,Object.class},
  @Signature(
   type = Executor.class, //必须为上面所支持的类
    method = "query", //类中支持的方法,可从源码中查看支持哪些方法
    args = {MappedStatement.class, Object.class , RowBounds.class, ResultHandler.class})}) //对应的参数Class,也可从源码中查看
public class ExamplePlugin implements Interceptor {
  public Object intercept(Invocation invocation) throws Throwable {
  Object[] queryArgs = invocation.getArgs();
    MappedStatement mappedStatement = (MappedStatement) queryArgs[0];
    Object parameter = queryArgs[1];
    BoundSql boundSql = mappedStatement.getBoundSql(parameter);
    String sql = boundSql.getSql();//获取到SQL ,可以进行调整
    String name = invocation.getMethod().getName();
    queryArgs[1] = 2; //可以修改参数内容
    System.err.println("拦截的方法名是:" + name);
    return invocation.proceed();
  }
  public Object plugin(Object target) {
    return Plugin.wrap(target, this);
  }
  public void setProperties(Properties properties) {
  }
}

 

在配置文件中注册插件

<!-- mybatis-config.xml -->
<plugins>
  <plugin interceptor="org.mybatis.example.ExamplePlugin">
    <property name="someProperty" value="100"/>
  </plugin>
</plugins>

当我们调用query方法时,匹配拦截器的方法, 所以会执行拦截器下intercept方法,做自己的处理。

参考资料,官网

http://www.mybatis.org/mybatis-3/zh/configuration.html#plugins

 


文章来源:http://www.cnblogs.com

原文地址:https://www.cnblogs.com/lhl5230/p/9119601.html

《惩罚者》第二季首曝视频:漫威最强人类对射毁容反派

Netflix根据漫威《惩罚者》改编的同名美剧好评如潮,日前第二季正在拍摄中,官方联合外媒发布了首支视频,以及大量片场照,上一季中被毁容的罚叔好友比利·罗索,这次正式以罚叔宿敌“拼图”形象亮相,作为漫威最强人类乔·博恩瑟扮演的弗兰克·卡索,本次与比利·罗索对射打枪,硝烟弥漫。

首支视频:

IT之家移动客户端用户若无法观看视频,请点此查看

《纳尼亚传奇:凯斯宾王子》、《西部世界》演员本·巴恩斯扮演的比利·罗索,上一季被好友弗兰克卡索用玻璃毁掉了面容,第二季正式以其反派形象“拼图”亮相,不过与漫画原作不同的是,电视剧版的“拼图”只有几处疤痕,并没有毁到“没眼看”,可能因为“凯斯宾王子”太帅了,如果和原作那样毁容可能吸引不到迷弟迷妹了。

▲“拼图”比利罗索、“惩罚者”弗兰克卡索

▲乔什·斯图尔特扮演电视剧原创角色约翰·皮尔格里姆

另外,第二季还追加了三位角色,其中《蝙蝠侠:黑暗骑士》《犯罪心理》演员乔什·斯图尔特扮演电视剧原创角色约翰·皮尔格里姆,和惩罚者一样同为军人,又重操旧业与其一同暴力打击反派。

▲弗罗瑞安娜·利马扮演电视剧原创角色克里斯塔·杜蒙

《超女》《致命武器》演员弗罗瑞安娜·利马扮演电视剧原创角色克里斯塔·杜蒙,专为美国退伍兵心理治疗的特工。

▲乔琪亚·惠格姆扮演原作角色艾米·本迪斯

《奥维尔号》《十三个原因》《惊声尖叫》演员乔琪亚·惠格姆扮演原作角色艾米·本迪斯,这个电视剧版原创角色是个骗子,但遇到惩罚者后对其非常呵护,保护弗兰克卡索。

▲“惩罚者”第二季造型图

第二季预定11月通过Netflix平台一次性全部播出,敬请期待。

大量片场照:

《惩罚者》第二季“拼图”造型照

文章来源:http://it.ithome.com

原文地址:https://www.ithome.com/html/it/362618.htm

南孚京东年中狂欢购:全场低至9.9元起,赢599元世界杯球衣

IT之家5月31日消息 京东618年中购物节即将开启,南孚京东自营旗舰店也将于6月1日开始红六月狂欢购活动,散热黑科技无线充电器、鼠标垫+无线充电器新品上市,全场9.9元起,可叠加满30减6元、满99减10元、满199减30元优惠券,免费抽价值599元世界杯球衣、200元购物卡、10400毫安移动电源、免单优惠和10元购物卡等多重好礼,点此参与

image.png

圆盘无线充电器:散热黑科技——专利纤薄碟形设计搭配124个散热孔,10W无线快充,轻薄不烫手。秒杀价99元,叠加优惠券仅89元,点此购买

image.png

立式无线充电器:风冷散热——自感应静音风扇,冷风循环对流设计,同时冷却手机和充电器,横放竖放都可全速充电。秒杀及168元,叠加优惠券仅158元,点此购买

image.png

给手机无线充电的鼠标垫:多功能致薄设计,秒变立式无线充电器,随放随充,快充满电,方便阅读手机信息。秒杀价219元,点此购买

image.png

• 点此参与南孚京东年中狂欢购:点此抢购

文章来源:http://it.ithome.com

原文地址:https://www.ithome.com/html/it/362616.htm

微软重组再继续:Edge团队并入“体验与设备”部门

IT之家5月31日消息 根据外媒ZDNet今日的消息,5月30日,微软在2018财年结束前夕,公布了继今年三月以来的又一次重大重组计划。到目前为止,这些组织架构调整未公布有裁员的计划。

经过此次重组,微软Edge团队将并入此前新成立的“体验与设备”部门。该部门由执行副总裁拉杰什·贾哈(Rajesh Jha)领导。

此外,今年三月受任领导新体验和技术团队(NeXT)的公司副总裁Kudo Tsunoda已经离开了这一岗位。他所领导的团队也将改向“体验与设备”部门的Rajesh Jha进行汇报。此前,Tsunoda负责的是Paint 3D、照片App等产品的开发。

有传言称,Tsunoda的团队已经被解散,他也有可能转而离开微软。微软方面表示,他目前仍在微软公司工作,并将在公司寻找一份新的角色。

ZDNet还表示,在此次调动中,还有一些Windows工程团队回到了副总裁乔北峰Joe Belfiore的团队,其中包括Albert Shum领导的设计团队以及唐娜姐Dona Sarkar的Windows Insider团队。

文章来源:http://it.ithome.com

原文地址:https://www.ithome.com/html/it/362613.htm

诺基亚出售数字健康业务,技术部门主管离职

北京时间5月31日晚间消息,诺基亚今日宣布,已经出售了公司的数字健康业务。该项业务的规模并不是很大,主要生产智能手表和健身手环。

据悉,诺基亚将其数字健康业务出售给了数字健康公司Withings联合创始人兼CEO埃里克·卡里尔(Eric Carreel)。2016年,诺基亚正是通过收购Withings建立了数字健康业务。

在主营的电信网络设备业务面临艰难挑战之际,诺基亚曾把数字健康业务列为了未来增长机遇之一。但去年,三星电子前高管格雷高利·李(Gregory Lee)执掌诺基亚技术部门后,决定退出数字健康和虚拟相机业务,专注于专利和品牌授权。

为此,诺基亚本月初宣布了出售数字健康业务的计划。与此同时,诺基亚今日还宣布,就职不到一年的格雷高利·李也将离职,公司首席法务官玛利亚·瓦塞罗纳(Maria Varsellona)将接管技术部门。

文章来源:http://it.ithome.com

原文地址:https://www.ithome.com/html/it/362612.htm

解读互联网女皇报告:腾讯和今日头条必有一战,盒马鲜生们值得看好

又是一年Code大会,一如往年,「互联网女皇」玛丽·米克尔(Mary Meeker)在大会上发布了她标志性的「全球互联网趋势报告」。

玛丽·米克尔是美国著名的证券分析师和风险投资人,她曾经是摩根·斯坦利的首席分析师,后来在2010年跳槽到风险投资公司KPCB(凯鹏华盈),担任风险投资人的角色。

自1995年起,米克尔就开始发布一年一度的「互联网报告(The Internet Report)」,连续23年从未中断。在往年的报告中,她曾成功预测过网络广告的兴起以及诸多互联网上的商机,报告的准确性以及观点的独到一直为业界所称赞,并且受到了互联网从业者的极大重视。

极客公园认真翻阅了这份长达294页的报告全文,从中挑选出了一些与中国互联网息息相关的的内容,并配以文字解读:

中国互联网发展趋势:增速趋缓但前景「强劲」

从整个报告的内容来看,玛丽·米克尔对中国的发展前景仍然看好,在一开篇她就点出,中国发展宏观趋势是「强劲」的。报告数据显示,中国消费者信息指数创近四年的来新高,达到52%以上。另外,反应一国制造业发展情况的制造指数在经历谷底后,2018年中国的「采购经理指数」迅速爬升,重返正常状态。

宏观上来看,中国的经济发展越来越受国内消费增长影响,目前中国消费对GDP的增长贡献率已达62%,而2003年这一数值仅为35%。中国人不仅消费信心增加,消费能力也在同步上升。

米克尔将「中国的互联网使用」放到中国专栏的第二部分,她认为中国在互联网使用方面仍处于加速时代。从中国移动互联网用户的增速上来看已经开始放缓,但考虑到目前互联网用户占总人口的比例已经接近80%,其速度发展放缓是可以理解的。

相较用户数量的缓慢增长,数据显示,2017年中国移动互联网数据使用已经高达约25EB(1 EB=1024PB,1PB=1024TB),相较2016年同比增长124%,且从2013年来,移动互联网数据使用一直保持着高速发展。因此,我们基本可以判断,虽然中国互联网用户增量市场趋于饱和,但移动互联网的深化发展仍大有空间。

短视频发展迅猛,视频媒体蚕食社交媒体市场份额

接下来,米克尔还谈到了「中国在线娱乐」。她将在线娱乐划分为全长视频、短视频和基于团队的多人手游三大类型。对于该领域的发展,米克尔的态度同样是看好。

上面我们谈到中国移动互联网数据使用仍在高速发展,这样的趋势在中国移动媒体的消费市场的中也有所体现。

一方面,中国移动媒体的消费市场总体趋好,2016年3月到2018年3月间总规模同比增长了22%;另一方面,中国移动媒体消费市场内部正在发生明显的变化,传统的社交媒体占市场比例从2016年的60%下降到了2018年的47%。相较而言,视频媒体和新闻媒体的比例呈现上升趋势,其中视频媒体比例从13%增长至22%,越过游戏成为中国互联网移动媒体占比第二高的媒体类型。

米克尔将视频媒体的发展分为短视频和长视频。整体来看,米克尔在报告中指出中国短视频媒体的访问量在2017年发展迅猛,短视频(3200万分钟)的占据移动媒体日消费市场已经接近长视频(3700万分钟)。

具体到短视频的发展,米克尔以「快手」和「抖音」为例,从日活用户数量、日均使用时长等方面进行了分析了短视频的发展态势。两款视频的日活用户基本都在1亿以上,用户日均使用时长达52分钟,且用户留存率都在40%以上,留存率较高(一般认为,游戏社交领域用户留存率在20%以上的产品趋于衰落,以上则说明用户活跃度强、粘性强)。

在线长视频方面,虽然占据用户时长方面增长不明显,但在和主要竞争对手——传统电视媒体的竞赛中已经开始呈现出领先优势,在2018年的内容预算方面,长媒体内容预算超过传统媒体约60亿美元,且长媒体内容预算增速明显。

另外,中国在线全长视频的原创内容也在增加,行业付费订阅趋势增长明显。以爱奇艺为例,2015年,平台付费注册用户只有大约500万,到目前这一数值已经增长至大约6000万。总体来看,未来中国在线长媒体的发展趋势是向好的。

在游戏领域,中国市场仍然值得看好。目前全球互动游戏营收中,中国已经超过美国成为全球市场第一。其中,MOBA类游戏(比如王者荣耀、绝地求生)日消费游戏市场总体趋势发展迅速,2017年至2018年间,最高曾达300万分钟。现在虽然有所回落,但结合发达国家的游戏发展历史来看,手游仍有较大发展空间。

盒马鲜生日均交易额完胜家乐福+永辉,新零售真的来了?

米克尔在此前的报告中介绍到全球互联网电商领域的发展,并将阿里巴巴和亚马逊做了对比,在中国专门的章节中,她对中国的零售业做了更为细致的刻画,认为目前中国零售业已经进入一个新的阶段:「从线上拓展到线下」。

整体来看,经过近10年的发展,中国电商占零售业的比例已经超过20%,成为全世界电商业务最发达的国家,且增速远超美国、德国、日本等发达国家。具体到中国内,去年电商B2C业务增长28%,且移动化趋势明显。目前移动端电商业务占GMV(商品交易总额)占整体市场的73%。

除了电商整体市场保持高速发展外,米克尔还指出,中国电商正在通过线上和线下结合重塑百货零售体验。她分别以盒马鲜生和百丽(鞋类品牌)为例对中国正在发生的零售业变迁进行了介绍。

盒马鲜生是阿里巴巴旗下数字化百货的尝试,它通过消费者数据确定库存量单位,并采用支付宝支付,支持线上、线下两种购物方式。她引用阿里自己的介绍称,「可以说,我们的电子商务生态平台正在快速成为中国领先的零售基础设施。阿里巴巴的电商平台每月都要处理数十亿笔交易,我们对消费者行为有最好的了解,同时也有深度的技术,商务平台、物流和支付方式的复杂生态系统。

米克尔将盒马鲜生和中国两大传统超市的日均零售交易额对比发现,盒马鲜生不仅线下交易额要高于传统连锁超市,线上交易额也和传统超市相当。(需要注意的是,米克尔并未提供样本量和样本采集方式,盒马鲜生和家乐福、永辉的商品品类等方面也存在差异。)

百丽则是传统零售反攻线上的典型案例,米克尔认为其利用「在线分析重塑了线下零售体验」。主要方式包括通过「客流热图」来优化布局,通过该鞋子脚垫中的的电子标签来确定货物试穿的转化率,通过3D足部扫描提供个性化鞋款制作等。

还在增长的不止移动支付,还有共享单车

最后一部分,米克尔谈到了中国的移动支付、在线广告和交通领域的迅猛发展。

从全球来看,店内交易中占据了全部付款方式的40%,另外60%来自购买按钮、移动支付、P2P转账、移动聊天应用、应用内支付、二维码和智能家居设备等。显然,移动支付正在全球兴起。

米克尔在报告中指出,作为移动支付最发达的国家,中国移动支付仍然在保持加速发展,2017年中国的移动支付总额已达16万亿,2016年到2017年,增速达209%,2015年到2016年增速仅为116%。不过,报告也指出,目前中国移动支付基本是微信支付(38%)和支付宝(54%)的天下。

在线广告方面,米克尔的数据显示,中国在线广告增速虽然放缓,但仍然保持着快速发展的趋势,增速达29%,在线营收总额达500亿。

米克尔在谈到中国的交通运输业发展时,称其主要为「按需运输」(主要为汽车和自行车)。从增速来看,2018年一季度较2017年四季度,中国按需运输的增长仍然十分迅猛,增速达96%。其中自行车的增速比汽车增速要更为明显。总体来看,中国按需运输的比例已经占到全球68%。

中美人工智能对比:中国再发展五年才能赶上美国

米克尔在谈到中美在人工智能领域时,认为这一领域的竞争将日益复杂。她引用美国国防创新顾问委员会主席埃里克·施密特的话称「未来五年美国将在人工智能领域保持领先,但五年后中美的水平将是相同的。」

米克尔在报告中指出,中国在人工智能领域的发展是有组织的,受到政府重视的,未来很长一段时间将不断发展。从历史数据来看,从1985年到2005年,中国在人工智能领域都算不上强。在国际相关赛事上有的没有参加,中国有的没参加,有的参加了但名次不佳,但到2018年,人工智能的主流比赛的大玩家已经变成中国和美国了。

米克尔还将中美的自然科学和工程高等教育进行了比较。从图中不难发现,中国在人才培养和人才储备方面已经赶上并超过美国了。再加上中国政府的高度重视,未来中国人工智能方面的发展将囊括经济、军事、基础设施建设多方面。

除了以上众多与中国有关的内容以外,米克尔今年的报告中还有以下的一些数据对中国互联网发展有着重要的借鉴意义:

智能手机出货量

2017年全球智能手机出货量增长0%。自2010年开始,每年智能手机出货量的增长就一直在递减,直到去年的0%的增长。同时,全球互联网用户的增速也在下降,从2016年的12%降到了2017年的7%,全球互联网用户达到了36亿人,达到了全球总人口的49%,预计今年将会超过全球总人口的一半。

「在座的企业家们都知道,当你进入一个市场,这个市场达到了50%的渗透率时,新的增长就会变得非常困难,这时行业已经进入了一个高级的阶段。」米克尔说道。

补充:据科技媒体The Verge报道,虽然报告中称智能手机出货量首次没有增长,但实际上,据IDC的数据,智能手机出货量在2017年首次出现了0.5%的下降。

「我非常敏感的一个点是,行业里出现了很多创新,同时也有很多竞争。这驱使产品越来越好,有更多有用的功能,促进了用量的增长,当然,审查也随之而来。」

米克尔举例说到iPhone和Google出品的安卓手机,它们在过去一年里推出了诸如人脸识别、无线充电和「Lens」智能图像识别等前沿技术。有了新的技术,厂家就卖得更贵,这导致了智能手机平均售价在连续数年下跌后首次出现了增长的趋势。

互联网用户用量

互联网用户在线时长持续增长。虽然互联网用户总数增长速度已经开始放缓,但互联网用户的使用时长仍在持续增加,尤其是用户花在数字媒体内容上的时间,在2017年增长了4%,达到了平均每天5.9小时。对此米克尔表示,「很多人再问我关于互联网使用量方面的问题时,都会问我这个时间有没有一个标准。我们的观点是,它取决于用户的时间是怎么花的。」

聊天应用领域,米克尔特别提到了中国互联网用户从QQ到微信的迁移,同时对比海外的社交网络月活用户变化,Facebook旗下三款应用都实现了月活用户增长的加速,而微信和推特的增速则有所减缓。

语音和视频的应用。在视频领域,移动设备的适配能力正在迅速提升,新的内容类型(游戏视频直播和「故事Stories」等)正在出现。语音方面,技术推动了产业的发展,Google机器学习语音转文字的能力在2017年超越了人类95%的准确度,另外一边亚马逊基于语音的智能音箱产品安装量在2017年第四季度超过了3000万台(美国地区),而其智能语音助手Alexa的「技能Skills」则达到了3万个。

还有互联网应用个性化的问题。在个性化技术的支持下,数据改善了人们的体验,促进了增长和审查。个人数据收集为消费者提供了更好的体验,Facebook有22亿活跃用户,Pinterest则有2亿,Spotify有1.7亿,Netflix也达到了1.25亿。

互联网应用数据收集和隐私悖论

数据的收集改善了许多应用实时的体验,出现了诸如实时导航、交通实况以及本地新闻等产品出现,但这同样带来了「隐私悖论」。「我们把这件事简化成三句话:互联网公司正在利用用户的数据提供更低价的服务;互联网用户在基于感知价值的互联网服务商更多地消费他们的时间;监管者希望保证数据被合理使用,但并不是所有的监管机构都在以同样的方式思考这个问题。」

米克尔重点提到了Facebook。「比如说Facebook,这家公司正在对产品进行更多的投入,这驱使着公司提高变现能力以及对产品的改善。当你提高了变现能力,加速增长,加速数据的收集,它就会带来很多监管的问题,不论是数据隐私、商业竞争还是内容的安全性,都会面对这样的挑战。对互联网公司而言,理解这些以及这些的复杂性,非常重要。我们正处在这样的改变的过程之中,这一过程还远远没有结束。马克·扎克伯格在四月说过这样一段话,『我们在阻止滥用和思考人们会如何使用这些工具做出伤害他人的事情方面,做得远远不够。』」

这种非预期后果对监管者同样适用。彭博社在评论文章中说道,『随着它(GDPR)的正式实施,欧洲会注意这种非预期后果以及当事情恶化时,保持开放寻求改变的重要性』。」

提防非预期后果当然很重要,但因噎废食,因此放弃创新和进步,则是一个不负责任的决策,「尤其在这样一个世界里,许许多多的国家都在做着各种各样的努力。」

文章来源:http://it.ithome.com

原文地址:https://www.ithome.com/html/it/362608.htm

苹果在全球范围内阻止Telegram消息应用更新

北京时间5月31日晚间消息,加密聊天应用Telegram创始人兼CEO帕维尔·杜罗夫(Pavel Durov)今日称,在俄罗斯政府要求苹果公司(以下简称“苹果”)下架Telegram应用后,苹果已在全球范围内阻止Telegram应用的更新。

Telegram总部位于莫斯科,为用户提供端到端的加密通信服务,在俄罗斯非常受欢迎。Telegram曾拒绝为俄罗斯联邦安全局提供后门程序,该机构宣称Telegram的加密聊天服务给犯罪分子、极端和恐怖主义分子提供了便利。

在请求被拒绝后,俄罗斯今年4月开始全国性地屏蔽Telegram。4月17日,俄罗斯政府还向App Store和Google Play Store这两家应用商店发出了下架Telegram的请求。

在实施屏蔽Telegram计划6周后,俄罗斯政府似乎并没有取得实质性进展。为此,俄罗斯电信监管机构昨日与苹果公司取得联系,要求停止在App Store内向俄罗斯用户提供Telegram应用,同时还要求苹果停止向俄罗斯Telegram用户推送消息通知。

杜罗夫今日称,俄罗斯用户仅占Telegram全球用户数量的7%。而这一次,苹果限制了Telegram全球用户的更新。为此,Telegram未能在5月25日的最终期限内遵守欧盟新的数据隐私法规《通用数据保护条例》(GDPR)。

文章来源:http://it.ithome.com

原文地址:https://www.ithome.com/html/it/362606.htm

俄罗斯参议员呼吁Facebook扎克伯格就隐私问题作证



在Facebook创始人马克扎克伯格向美国和欧洲立法机构就监管社交网络作证之后,俄罗斯参议员呼吁Facebook创始人马克扎克伯格来俄罗斯立法机构作证,提供有关隐私的专家证词。

全球最大的社交媒体网络因违反协议,允许剑桥分析公司政治咨询公司在未经其许可的情况下利用8700万美国和欧洲用户的数据而受到抨击。自去年以来,俄罗斯媒体监管机构Roskomnadzor因其未能遵守2015年法律要求科技公司将俄罗斯公民的个人数据存储在本地服务器上而发起对Facebook的攻势。

周三,俄罗斯议会议长瓦莲蒂娜马特维科在回应参议员提议召集扎克伯格前往联邦委员会作证时表示“我会发出一个命令。我们会尽力要求马克扎克伯格进行作证。”同时,参议员安东Belyakov借鉴普京号召的“数字化经济”,邀请扎克伯格到俄罗斯议会上议院并发表他的观点。

de8dc1f46a8b4bb8beef998e0ebb2d8f.jpg


文章来源:http://www.cnbeta.com

原文地址:https://www.cnbeta.com/articles/tech/732153.htm

通用打算明年商用的无方向盘汽车,还没跑就拿到了孙正义的 20 亿美元

Uber、ARM、WeWork……越来越长的独角兽名单上都有一个共性:那就是他们的捕获者中都有孙正义的软银集团。

而今天软银集团又捕获了一只成长态势良好的新品种,尤其让人看好的是,这个新品种还拥有着一只史前巨兽的强力血统。

刚刚,软银旗下愿景基金(Softbank Vision Fund)宣布向通用公司旗下专注于无人驾驶及其商业化运作的 GM Cruise 公司投资 22.5 亿美元。

这个事件的双方我们都已经非常熟悉,愿景基金是在去年由软银发起筹措的一只专注于科技领域投资的基金,一年多的时间中得到了苹果、富士康等与软银关系密切的企业的相继注资,现在已经成长为全球规模最大的私募股权基金;而 GM Cruise 的前身是美国著名的无人驾驶初创企业,2016 年被通用集团纳入麾下后得以强力发展。

就在今年年初,通用对外界展示了 GM Cruise 开发的无人驾驶汽车,整车去掉了方向盘和脚踏板,目前已在美国旧金山地区展开路试,此前通用曾表示将在 2019 年展开正式商业化的运转。

当前无人驾驶公司的常见商业模式有两种,一是进行开放性的解决方案研究,希望通过授权给尽可能多的汽车品牌来获取收益,二是将全部专利抓在手中,希望推出自有专利的共享出行方式来摊薄成本,像通用这样的巨头在自身加强控制的同时还接受外部注资的并不多见。

经董车会咨询通用方面得知,本次投资完成后,通用基于 GM Cruise 技术开发的全部 IP 和服务并不与软银分享,也就说在本次投资当中,软银方面最大的财务收益将来自于未来 GM Cruise 继续升值之后的估值价值。

反之,通用得到这笔投资的好处在于可以减轻自己的资金压力,在资本配置方面拥有更好的可支配性。

软银对 GM Cruise 的投资将分两批完成,在本次交易确定之后,愿景基金将支付首笔 9 亿美元,而其余的 13.5 亿美元将在 GM Cruise 开始商业部署时及时完成补缺。

这 22.5 亿美元将让软银占有 GM Cruise 19.6% 的股份,希望两笔投资到位之时,我们已经可以看到 GM Cruise 的车辆在街上开心的奔跑了。

你说无人驾驶烧钱么?即便拿到了这 22.5 亿美元,通用自己还表示要继续注资 11 亿美元。你说无人驾驶赚钱么?就在两年前通用买下 Cruise 时只花了 10 亿美元。

文章来源:http://www.ifanr.com

原文地址:http://www.ifanr.com/1041646

注意力比视力先行一步

蒙大拿州立大学神经科学家在《Neuron》期刊发表
论文,揭示眼睛快速随机运动时,大脑如何对物体保持注意力。研究人员说,“注意力就像大脑感知的聚光灯,在需要的地方闪着额外耀眼的光。这种‘预测代码’有助于确保光线打在地图的正确位置。”研究
发现,“聚光灯” 可以在眼睛开始移动之前预测眼球运动和位移,从而使聚光灯在眼睛停止运动的一瞬间落在正确位置。“这是种预测代码理念。大脑利用了我们的意图和预期身体姿势或眼睛位置变化的信息,让我们对接下来发生的事情做好准备。”研究人员正试图理解导致预测代码发生的生物电路,以及它们如何指导大脑应对可能发生的事情。

文章来源:http://www.solidot.org

原文地址:http://www.solidot.org/story?sid=56689

美国学校开始使用面部识别技术

作为阻止校园枪击努力的一部分,美国纽约 Lockport 学区
购买了面部识别技术。从 9 月份开始, Lockport 学区的学校建筑物将配备识别人脸的监控系统。监控系统由加拿大的 SN Technologies 公司开发,将在发现性犯罪者、停课的学生、被解雇的雇员、疑似帮派分子等列入黑名单的人进入学校时发出警告。面部识别技术是否真的阻止校园枪击非常可疑,因为统计显示过去五年发生的校园枪击案件中的行凶者不太可能会列入黑名单,他们可能是正在就读的学生或毕业生。

文章来源:http://www.solidot.org

原文地址:http://www.solidot.org/story?sid=56688

Java基础之this和super关键字用法



this

在java中,this是一个引用当前类对象的引用变量,主要有以下几种用法:

引用当前类的实例变量·

this关键字可以用来引用当前类的实例变量。如果实例变量和某个方法的参数之间存在歧义(实例变量和参数命名相同),则通过this.变量名 可用于明确地指定实例变量以解决歧义问题。

调用当前类方法

可以使用this关键字调用当前类的方法,格式:this.方法名。如果不使用this关键字,编译器会在调用方法时自动添加此 this 关键字。

调用当前类的构造函数

this()构造函数调用可以用来调用当前类的构造函数(括号中可以带参数)。它用于重用构造函数,this()构造函数调用用于从构造函数重用构造函数,它维护构造函数之间的链,即它用于构造函数链接。

作为参数传递给方法或构造方法

this关键字也可以作为方法中的参数传递,主要用于事件处理。在事件处理的情况下,必须提供一个类的引用到另一个。 它用于在多个方法中重用一个对象。

用来返回当前类的实例

可以从方法中 this 关键字作为语句返回。在这种情况下,方法的返回类型必须是类类型(非原始)。

super

java中的super关键字是一个引用变量,用于引用直接父类对象。每当创建子类的实例时,父类的实例被隐式创建,由super关键字引用变量引用。

引用直接父类实例变量

可以使用super关键字来访问父类的数据成员或字段。 如果父类和子类具有相同的字段,则使用super来指定为父类数据成员或字段。

调用父类方法

super关键字也可以用于调用父类方法。 如果子类包含与父类相同的方法,则应使用super关键字指定父类的方法。 换句话说,如果方法被覆盖就可以使用 super 关键字来指定父类方法。

调用父类构造函数

super关键字也可以用于调用父类构造函数。如果没有构造函数,编译器会自动提供默认构造函数。 但是,它还添加了super()作为第一个语句。

        转载请注明出处 https://www.cnblogs.com/Y-oung/p/9119300.html

        工作、学习、交流或有任何疑问,请联系邮箱:yy1340128046@163.com


文章来源:http://www.cnblogs.com

原文地址:https://www.cnblogs.com/Y-oung/p/9119300.html

Cookie 与 Session 的区别



                                      Cookie与Session的区别

cookie的简介

  • cookie是Web服务器保存在客户端的一系列文本信息
  • cookie的作用
    • 对特定对象的追踪
    • 统计网页浏览次数
    • 简化登录
  • 安全性能:容易信息泄露

Session是什么

用途

  1. Session可以记录用户的登录与行为数据,即记录下用户目前访问服务器上的那些内容,状态是什么,而考虑到这些数据用户修改的随意性很大,并没有必要直接存储在数据库中。
  2. 在用户执行刷新操作时,即再次访问服务器时,可以直接根据Session,打开用户上次访问时网页的状态(如用户输入的表单内容等等),为用户带来更优的体验,提供个性化服务。
  3. 用户的session信息非常关键,它记录了用户在进入页面、查看结果、点击结果以及后继的操作(比如翻页、加购物车等)。只有通过session信息才能把用户的行为联系起来,构建出完整的模型,因此从海量数据中把每一个用户所有session的操作都完整地挖掘出来非常重要。

Session其实就是会话变量的保存地,只要是能使用变量的地方,都能使用 Sesion 变量。比如可以用来 计数、存储临时信息、甚至还可以存储DataTable,只要你的服务器的内存足够大就行。 简单通俗的讲session就是象一个临时的容器 来存放这些临时的东西 从你登陆开始就保存在session里 当然你可以自己设置它的有效时间和页面 举个简单的例子 我们做一个购书的JSP网站 顾客买书的时候会挑选出一些书 但是在付钱之前还可以修改,所以不能存到数据库 就可以先保存在session里 等到确认了以后再放入数据库…

定义

在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下)。因此,在需要保存用户数据时,服务器程序可以把用户数据写到用户浏览器独占的session中,当用户使用浏览器访问其它程序时,其它程序可以从用户的session中取出该用户的数据,为用户服务。 需要注意:新开的浏览器窗口会生成新的Session,但子窗口除外。子窗口会共用父窗口的Session。例如,在链接上右击,在弹出的快捷菜单中选择”在新窗口中打开”时,子窗口便可以访问父窗口的Session。需要注意:只有访问JSP、Servlet等程序时才会创建Session,只访问HTML、IMAGE等静态资源并不会创建Session

Session和cookie的区别与联系

具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。两者存储的都是用户登录信息,操作行为等等的数据。

  • cookie是把用户的数据写在用户本地浏览器上, 其他网站也可以扫描使用你的cookie,容易泄露自己网站用户的隐私,而且一般浏览器对单个网站站点有cookie数量与大小的限制。
  • Session是把用户的数据写在用户的独占session上,存储在服务器上,一般只将session的id存储在cookie中。但将数据存储在服务器对服务器的成本会高。
  • session是由服务器创建的,开发人员可以在服务器上通过request对象的getsession方法得到session
  • 一般情况,登录信息等重要信息存储在session中,其他信息存储在cookie中

session的实现原理

服务器会为每一个访问服务器的用户创建一个session对象,并且把session对象的id保存在本地cookie上,只要用户再次访问服务器时,带着session的id,服务器就会匹配用户在服务器上的session,根据session中的数据,还原用户上次的浏览状态或提供其他人性化服务。

cookie与session的对比

  • session
    • 保存在服务器端用户信息
    • session中保存的是Object类型
    • 随会话的结束而将其存储的数据销毁
    • 保存重要的信息
  • cookie
    • 客户端保存用户信息
    • cookie保存的是 String类型
    • cookie可以长期保存在客户端
    • 保存不重要的用户信息


文章来源:http://www.cnblogs.com

原文地址:https://www.cnblogs.com/798911215-Darryl-Tang/p/9119275.html

深入解析高并发技术



之前的两篇系统架构的博客中都提到了高并发、高可用技术,但是却都没有详细聊过,今天就好好聊一下常见的高并发技术。

 

一 高并发技术核心

高并发技术的核心是分流;分别针对请求的各个环节,根据具体场景和业务特点采用不同的分流方案,逐层逐级的分担系统压力,从而达到高并发能力。

常见的高并发技术有:动静分离、缓存、异步并发、水平扩展等。分流简单来说就是:一台服务器承担不了的流量,就让多台服务器共同分担;DB承担不了流量就让缓存来帮忙分担;等等。接下来讨论的所有内容都是围绕着分流来实现的。

现实中没有一招鲜吃遍天的美事儿,每一个公司、每一种业务、每一个场景、每一个功能都有其与众不同的特点,现实中一般都会根据业务特征、根据请求的各个环节特点,做针对性优化。

 

二 分阶段优化策略

1.   模型

一次请求主要分为四个阶段:客户端发起请求;通过网络将请求信息发送到服务端;服务端处理请求;服务端将结果返回给客户端。为了追求并发的极致,我们可以针对每一个阶段分别使用不同的策略,来提升系统的并发性能。模型如下:

809b8a2c23cfba850794c056602e86b0fc2ee2a9

这是一个漏斗型的模型,通过逐层过滤,将流量分散,让尽可能少的请求到达底层。

此模型的核心就是,根据各环节的特点,选择相应的优化策略,从而实现高并发的目的。

2.   客户端优化技术

客户端优化技术主要指的是客户端通过缓存数据,减少访问服务端的次数,以实现降低服务端压力,达到支持更多并发量的需求。

常见的处理方式是:缓存不经常变动的内容,每隔一定时间更新一次,或者除非修改了否则较长时间不更新;如:更新微信公众账号的头像时,手机端不会立即看到这个更新。另外,根据业务场景可以限制不必要的请求;如:点击一个按钮,发送一次请求到服务端时,禁用按钮,避免因用户多次点击,而发送不必要的请求。

3.   网络优化技术

网络优化的核心目标是:将资源缓存到距离用户最近的网络节点上,这样除了可以省下大量网络带宽外,还可以达到最快的请求速度;一般针对静态资源。

通过静态化技术(将不经常变动的内容生成静态文件)或动静分离技术(例如H5+ajax),将静态的内容存储在CDN上,当用户查看一个页面时,只让少数的动态请求落到服务器端,其他内容从CDN上直接获取,这样就可以极大的减少服务器端的流量。

 

4.   服务端优化技术

1)    负载均衡

负载均衡的核心是让每台服务器以一个合适的负载来分担所有的请求。

常见的负载均衡方案有:随机、轮询、hash、一致性hash。当然在这些基础上有很多扩展,例如在负载均衡的机器中设置不同的权重;根据key的范围不同调用不同的服务器等等。

2)    缓存

a)    为什么高效

缓存的结构一般都是key-value结构,通过key直接寻址,时间复杂度为O(1),这比DB的遍历比较来快了非常多;另外,不少的缓存中间件通过在内存中存储数据,不用从磁盘中获取数据,性能也就会非常高。

说明一下:大部分缓存中间件都会对value做一些扩充,让value也成为一个复杂的数据结构,例如Redis的Set、SortSet,如果需要在value中寻找某一个值,时间复杂度会退化成为O(N);这些数据结构提供了强大的功能,使用的时候注意合理使用,以避免因为缓存乱用导致性能降低的问题。

b)    分布式缓存

如redis、tair、memcached等。

优点是:集群部署,不用考虑容量问题,数据支持持久化,支持高可用。

缺点是:因为服务器和缓存数据交换时存在一次网络交互,如果数据结构选择不合理或者并发量非常大或者每次交互的数据量较大时,可能会引起io阻塞等问题,需谨慎。

c)    堆缓存

通过java的堆来缓存数据。

优点是:速度非常快。

缺点是:存储数据量受限,断点数据丢失,分布式场景中如果出现不一致时,处理麻烦。

d)    磁盘文件缓存

将数据存储到服务器所在的磁盘上。

优点是:存储内容较堆内存多(少于分布式缓存),是持久化的。

缺点是:服务器迁移时也要迁移磁盘中的文件,分布式场景中如果出现不一致时,处理麻烦。

 

e)    注意事项

缓存数据和数据库数据不一致的问题。

缓存击穿问题。

缓存数据丢失问题(缓存一般都需要持久化的,为了保证性能缓存一般都不是同步持久化,所以是可能存在数据丢失问题的)。

3)    通信模型

高性能的IO通信模型可以给系统带来巨大的性能提升。目前就较为成熟、高效的IO通行模型是NIO(也叫IO多路复用、异步阻塞IO)。

在java服务器前加一层Nginx服务器,它既可以提供良好的负载均衡能力,也能够支持非常高的并发。当然Nginx的高性能还与他的master-worker设计有关,几乎做到了无线程切换。

使用Dubbo进行RPC调用时,默认使用的Netty也是基于NIO的。

4)    队列技术

队列技术的作用是将同步转化成异步;相比于同步,异步可以根据服务器的处理能力来消化这些请求;同步则是不顾忌服务器的承受能力,所有请求一起蜂拥而入。

常见的技术有MQ消息服务器,例如RocketMQ、RabbitMQ、kafka;其中RocketMQ和kafka都可以支持非常大的并发量和消息量,性能非常的好。

5)    线程池

线程池是一种很实用的提升系统的服务能力的方案,其思路就是一个线程处理的慢,那创建一堆线程出来处理,速度自然就快了;线程池还有另外一个优点,重复利用连接,降低创建成本。线程池大小的设置一般参考一下两点:

高并发、任务执行时间短的任务,线程池线程数可以设置为CPU核数,减少线程上下文的切换;主要针对cpu密集型任务。例如:nginx中worker线程的数目。

线程池设置可以参考《ThreadPoolExecutor》博客中的“线程池配置”部分内容

6)    DB存储

DB一般是服务端性能的瓶颈,所以对DB的优化方式也比较多,整理起来主要有以下几种:

表级别性能优化,例如:单表操作,避免联表操作;使用索引;事务尽可能短;查询优化;等等。

读写分离。

分库分表;分区(注意不合适的分区策略不但不能提升性能,反而可能降低性能)。

 

5.   响应优化技术

返回结果优化主要是压缩返回结果,通过降低字节长度来降低网络消耗。分多次加载数据,每次只显示一屏数据。

这种技术在静态内容中使用的比较多,例如压缩javascript、css文件等,动态请求中使用的不多。

 

三 根据业务特征优化

现实中有非常多种根据业务特征优化的示例,这里仅仅提供两个示例,以示说明。

1.   业务特征定制流程

例如:秒杀活动其实是交易的一种变种,他的特点是瞬间下单并发量很高,但受实际秒杀商品数量限制,最终仅少量订单可以创建成功。基于这种业务特点,可以在服务端通过过滤和队列技术,先拦截掉绝大多数流量,仅仅让可以成功的请求到达底层,从而轻松实现高并发目标。

 

2.   调整流程

在《抽奖活动的高可用、高并发优化》博客中“流程顺序调整”内容,讨论过一种场景,当中奖概率比较低时,甚至可以通过调整流程中某些环节的顺序,从而提升性能。

 

四 分流技术

以写请求为例,以下是一种常见的分流模型,通过下图我们可以看到,在经历前面众多环节的分流后,仅有少量请求会需要写DB,当然也就可以轻松支持大并发流量了。

 

 cd115bdb55bb68fd86101ad03a36eb2edd1f072d


文章来源:http://www.cnblogs.com

原文地址:https://www.cnblogs.com/lihongh/p/9118986.html

京东影音618狂欢抢500元神券:AKG 450仅199元、169元秒杀小爱音箱mini

IT之家5月31日消息 随着618年中购物节的到来,京东开启了影音影像年中狂欢活动,用户可以提前抢500元神券,活动促销的产品包括相机、耳机、音箱等,一起来了解一下。

京东影音618狂欢抢500元神券:点此购买

在众多促销商品当中,AKG K450头戴式耳机原价249元,用户可以交10元定金抵扣60元,相当于到手价199元。AKG K450耳机采用了单边线、可拆卸设计,动圈驱动单元,灵敏度126dB,支持折叠存放。

这款耳机获得2009年度红点产品设计奖,有来自AKG专业级的调音,是一款均衡人声利器。6月1日-6月3日实际到手价199元。

此外,小爱音箱mini也参与到这个活动当中,6月1日0点169元秒杀。小爱音箱mini是一款能听会说的人工智能音箱,支持查讯息、语音备忘、日程管理、操控家中的智能家电等功能。

本次活动涉及的商品非常多,这里不再做一一列举。产品类型包括相机及相关配件、耳机、音箱、无人机、音频播放器等,涉及的品牌有索尼、佳能、尼康、Beats、Bose、魅族、大疆、JBL等。

京东影音618狂欢抢500元神券:点此购买

文章来源:http://it.ithome.com

原文地址:https://www.ithome.com/html/it/362603.htm

ofo在20城市取消信用免押金,仅五城保留

IT之家5月31日消息 据澎湃新闻报道,ofo在20城市取消了信用免押金,目前依旧可以信用免押的城市为上海、杭州、广州、深圳、厦门。

上述5个城市之外,ofo用户如果不选择购买95元“福利包”,将需要缴纳199元押金才能使用ofo小黄车。在此之前,ofo的信用免押城市为25个,包括了武汉、石家庄、福州、长沙、银川、中山、佛山、乐山、宁波、芜湖、南宁、上海、杭州、广州、深圳、厦门、南昌、威海、金华、郑州、合肥、温州、绵阳、珠海和德阳。

“我们在探索多样化的免押金方式,此前与芝麻信用的合作,只是免押金方式的一种。这次我们尝试新的免押金方式,未来用户一旦产生不文明用车行为,系统都将从用户账户中扣取相应费用。相反,用户规范用车,我们不会扣费用,还会为用户累积信用分。”ofo方面表示,“这次调整是其中一步。后续官方如有最新动态,会第一时间与大家分享。”

文章来源:http://it.ithome.com

原文地址:https://www.ithome.com/html/it/362595.htm

上海市消保委约谈滴滴,后者承诺将更新免密支付设置

IT之家5月31日消息 当网约车司机以过桥费、过路费、停车费甚至隧道内信号丢失造成的里程补偿等名目单方面加收费用时,开通小额免密支付后的消费者可能并不知情。对此,上海市消保委第一时间向存在该问题的滴滴发出查询函,并约谈该企业。

经过约谈,滴滴出行向上海市消保委承诺,将在全国范围内更新免密支付的相关设置,存在司机手动加价的消费都将由消费者手动确认支付。同时,企业承诺,将通过技术和相应的惩罚措施,对司机不当加价的行为予以更加有力的管控。

上海市消保委还要求,滴滴出行要对此前上海地区是否存在损害消费者合法权益的行为加以梳理,如有多收消费者费用的情况,企业应予以退还。同时,对类似的交易环节中可能存在的漏洞和风险加以评估,进一步提高交易的安全性,以维护消费者合法权益。滴滴出行表示,将在两周内就上述两个问题向上海市消保委书面反馈相关情况。

文章来源:http://it.ithome.com

原文地址:https://www.ithome.com/html/it/362593.htm

金融监管将会对蚂蚁金服产生何种影响



作为中国电子商务巨头阿里巴巴旗下的在线支付部门,蚂蚁金服运营着全球最大的在线支付平台支付宝。蚂蚁金融还拥有全球最大的货币市场基金余额宝,并提供保险,消费贷款和证券化产品。其在金融科技领域的投资是如此之多,那么蚂蚁金服将如何受到中国金融科技行业潜在监管的影响?

蚂蚁金服的冒险

蚂蚁金服被认为是全球最大的金融科技公司。该公司所运营的在线支付业务支付宝拥有8.7亿活跃用户,而旗下的货币市场基金余额宝年收益率超过4%,价值约1.5万亿人民币。蚂蚁金服还计划再增加两支货币市场基金产品。除此之外,蚂蚁金服还提供保险服务,2017年已发行消费贷款资产支持证券2588亿元。目前蚂蚁金融消费贷款余额达到3220亿元。该公司正在利用涵盖数个领域的人工智能,为消费者问题提供答案,处理数据以及客户支付。

蚂蚁金服不仅在中国开展业务,还在海外进行投资。 蚂蚁金服在印度的Paytm公司、泰国的Ascend公司和新加坡的M-Daq公司中都有股权投资,并且在金融科技和初创企业领域进行了大量投资。如印度移动互联网公司One97 Communications和新加坡数字安全提供商V-Key均有蚂蚁金服的投资。

拥有庞大而多元化的业务对于公司盈利来说可能是好事,但它增加了蚂蚁金服应对潜在监管的脆弱性。蚂蚁金融对许多中国消费者来说非常重要,它可能被认为体量太大而不会倒闭。一些消费者使用蚂蚁金融的支付宝服务,投资余额宝,并从蚂蚁金服获得消费贷款。在这种情况下,相应监管可以防止公司在出现金融脆弱性时要求政府提供救助。

011e57fb6168441cb38df37072ba235e20180105102811.jpeg

监管预期

预计中国政府将对货币市场基金实施监管。由于信用质量和流动性下降,惠誉国际(Fitch)对蚂蚁金服主要货币市场基金余额宝的评级低于气美国竞争对手。额外的规则是必要的,但可能会减缓中国货币市场基金的增长。考虑到这些监管措施,蚂蚁金服减少了投资者每天可以从货币市场基金中提取的资金数额。现在,投资者的余额宝账户每天最多可向银行账户转账10000元人民币。

还有报道称,中国政府将针对像蚂蚁金服这样的金融控股公司出台法规。这些公司被认为太大而不能倒闭,因为一旦倒闭将会给整个金融体系带来系统性风险。在两个或两个以上的金融行业经营的公司可能很快就会被要求从中国人民银行获得执照并满足一定的资本要求。这些大型企业的所有权结构和集团间交易也将受到限制。

新的法规可能会减少蚂蚁金服的业务规模和盈利能力。客户可能会发现,有关货币市场交易的规定繁琐,从而会为自己的投资选择另一个渠道。而蚂蚁金服金融业务领域的额外资本需求可能会减少,导致可用于贷款和投资的资金量相应减少,从而收紧潜在的利润。潜在的监管可能会对蚂蚁金服雄心勃勃的扩张构成威胁。

不过值得注意的是,蚂蚁金服此前也曾面临监管。例如,2017年出台的政府法规规定,货币市场基金管理公司必须拨出至少0.5%的净资产来控制坏账。其他法规还减少了以债务为基础的消费贷款销售。由于公司不能在继续贷款,并需要将贷款从资产负债表转移到资产支持证券,这影响到了蚂蚁金服花呗和借呗等网上小额信贷服务。当时,花呗和借呗被认为相对总资本比率的融资总额过高,这一举措旨在纠正现状。

当然,监管规定降低了这些小额贷案机构的盈利能力,使得蚂蚁金服出售的资产支持证券规模从2017年第一季度的310亿人民币下降到2018年3月中旬的107亿人民币。然而, 对金融控股公司的预期监管将比以前的规则产生更大的影响。由于蚂蚁金服在所有权结构方面受到限制,并提出了新的资本要求,公司可能会面临更大的增长挑战。 这些规定是为了整个金融经济的利益,但无疑会让中国最大的金融科技公司付出代价。


文章来源:http://www.cnbeta.com

原文地址:https://www.cnbeta.com/articles/tech/732147.htm

滴滴公布整改进展:顺风车将恢复标签评价



5月31日晚间消息,滴滴出行在其官方微博公布整改及安全升级工作进展,称顺风车正研发合乘双方互验照片功能。同时表示,顺风车正认真讨论恢复部分安全系数较高的夜间服务的可能性。滴滴称,经过反复讨论和产品开发,顺风车将于近期恢复仅与出行相关的标签评价(例如“准时”“礼貌”等)功能。标签均由平台给出,用户不可原创。

滴滴表示,人脸识别技术本身还处于成熟过程中,在通过率、准确率等方面需要不断优化迭代,而海量高频的人脸识别增大了用户使用时的困扰。正投入大量工程师,提升人脸识别的效率和体验。

以下为滴滴整改及安全升级工作进展全文:

滴滴整改及安全升级工作进展更新(2018.5.31)

今天是5月31日,也是之前向社会承诺的全平台整改方案上线日期。在这短短两周的时间里,我们收到了许多来自社会各界朋友们的建议、批评、询问和关心,团队也在夜以继日地研发和补强各种安全产品和规则策略。取得了一些进展,也遇到不少问题和困难。在此我们希望和大家汇报一下这两周的工作情况,也分享一些当中的感受。

关于顺风车:

顺风车在5月19日上线前,已完成以下整改措施:

1、全部个性化标签和评论功能下线;

2、合乘双方个人信息和头像仅自己可见,外显头像全部为系统默认虚拟头像;

3、车主每次接单前必须进行人脸识别;

4、暂停接受22点-6点期间出发的订单,并对在22点之前出发但预估服务时间超过22点的订单,在出发前对合乘双方进行安全提示。

以上整改措施在很大程度上提升了对合乘双方的安全保护,但也有不少用户反映体验方面受到了影响,主要集中在三个方面:

1、人脸识别技术本身还处于成熟过程中,在通过率、准确率等方面需要不断优化迭代,而海量高频的人脸识别增大了用户使用时的困扰。我们正投入大量工程师,提升人脸识别的效率和体验,请大家给我们一点时间;

2、许多用户反馈,希望保留与出行相关的标签和评论。经过反复讨论和产品开发,我们将于近期恢复仅与出行相关的标签评价(例如“准时”“礼貌”等)功能。标签均由平台给出,用户不可原创;

3、暂停夜间服务给许多有夜间出行需求的用户带来不便,甚至有部分用户表示他们被迫选择了更不安全的其他出行方式,对此我们深感抱歉。我们正在认真讨论恢复部分安全系数较高的夜间服务的可能性,但安全仍然是任何决策的第一要素。

此外,顺风车正在研发上车前合乘双方互验照片的功能(接单前看不到),以及补强全程路径监测等服务干预能力,以进一步杜绝人车不符和提升车主乘客安全。

关于全平台:

1、新版紧急求助功能已正式上线,在原有功能基础上将进入按钮提升至显著位置,并添加110、120、122及滴滴24小时安全客服等快捷方式,用户可自主一键拨打;

2、快车已上线人车不符评价机制,主动邀请乘客评价司机和车辆是否与软件显示信息一致,并联系前后多个订单的乘客进行核实,一经确认立即封禁;

3、快车已在部分城市上线每天出车前司机人脸识别功能,我们将继续优化人脸识别技术,尽快做到快车、专车、豪华车全量上线;

4、平台已研发并上线大数据识别模型,对识别出的人车不符进行核查,一经核实马上封禁;

我们本来希望推出人车不符的有奖举报机制,但在参考了一些同行推出有奖举报后遭遇大量虚假举报刷单作弊,被迫快速下线的经验教训后,我们认为需要更加深入地思考相关激励机制的可操作性。

此外,根据社会各界的建议和反馈,我们将在近期选择少数几个城市进行行程中录音功能测试,以便在司乘双方发生纠纷投诉时取证判责,从而进一步保障双方的安全和权益。

我们非常清楚隐私保护对于用户的重要性,因此在正式开始测试前,我们还将继续积极听取各方建议,反复打磨相关方案和技术能力,并在上线前将方案对社会公布。

我们深知,出行安全不是一劳永逸的事情,而是每时每刻的挑战。平均每一秒,滴滴平台上都会新产生350次出行服务,我们也许无法保证每次服务中不会出现司乘纠纷、交通事故甚至突发案件,但我们希望尽自己最大的能力为每一位车主和乘客提供全面的安全保障。

同时,我们依旧坚信,在互联网和大数据等技术进步的推动下,许多传统出行方式中无法解决的安全问题将越来越多地被解决。滴滴将竭尽全力为车主和乘客带来更加安全的出行体验,让出行更美好。

谢谢大家。

滴滴出行

2018年5月31日

http://n.sinaimg.cn/tech/transform/122/w630h4292/20180531/3x6C-hcikcev6927601.jpg


文章来源:http://www.cnbeta.com

原文地址:https://www.cnbeta.com/articles/tech/732145.htm