场景应用

IM 笔记(1) 简介

浪尽此生 提交于 2020-03-11 17:18:42
前言   公司项目,要加即时聊天功能,要短期能上线,于是用SpringBoot + Netty实现。不过第一期仅实现了功能,没深入研究。现在项目二期,深入学习一下,改进现有项目,顺便做个学习记录。 正文  提纲:   什么是IM?   有哪些应用场景?   用到了哪些技术?   有何前景?   个人理解,IM(即时通信,即 Instant Messaging)就是实时互动,人与人、人与物、物与物之间的 实时数据传输 。   典型应用场景:     聊天类: qq、微信、聊天室、直播里、游戏里     物联网: 车辆实时追踪、分时租车、位置共享     远程控制: 远程监控、手机遥控   系统实现:     网络:协议、稳定性、省流量设计、…     安全:加解密、脱敏、…     缓存:性能、在线用户池     MQ: 异步存储、离线消息、ACK机制     等等等     架构:分布式、高并发、高可用、一致性、可扩展   随着移动网络的发展,5G/6G/…,即时通信技术会变成通用技术,必知必会!  参考资料   http://www.52im.net/   https://www.jianshu.com/p/68e297a1cf92 来源: CSDN 作者: 赋能IT 链接: https://blog.csdn.net/weixin_39285564/article

关于 Kubernetes 规划的灵魂 n 问

岁酱吖の 提交于 2020-03-10 14:03:32
作者 | 易立 阿里云资深技术专家 导读 :Kubernetes 已经成为企业新一代云 IT 架构的重要基础设施,但是在企业部署和运维 Kubernetes 集群的过程中,依然充满了 复杂性和困扰 。 阿里云容器服务自从 2015 年上线后,目前 托管着上万的 K8s 集群 来支撑全球各地的客户。我们对客户在规划集群过程中经常会遇见的问题,进行一些分析解答。试图缓解大家的“ 选择恐惧症 ”。 如何选择 Worker 节点实例规格? 裸金属还是虚拟机? 在 Dimanti 2019 年的容器调查报告中,对专有云用户选择裸金属服务器来运行容器的主要原因进行了分析。 选择裸金属服务器的最主要原因( 超过 55% )是:传统虚拟化技术 I/O 损耗较大;对于 I/O 密集型应用,裸金属相比传统虚拟机有更好的性能表现; 此外近 36% 的客户认为:裸金属服务器可以降低成本 。大多数企业在初始阶段采用将容器运行在虚拟机的方案,但是当大规模生产部署的时候,客户希望直接运行在裸金属服务器上来减少虚拟化技术的 license 成本(这也常被戏称为“VMWare 税”); 还有近 30% 的客户因为在物理机上部署有更少的额外资源开销 (如虚拟化管理、虚拟机操作系统等);还有近 24% 的客户选择的原因是:可以有更高的部署密度,从而降低基础设施成本; 超过 28% 的客户认为

如何构建一个可持续的企业级数据赋能体系?

吃可爱长大的小学妹 提交于 2020-03-10 10:22:07
简介: 对于所有企业来说,数据决定了基于算力、算法等能做出哪些场景和应用。在本次首席技术官大数据专享会上,友盟+首席产品官林鸣晖围绕业务数据化,数据资产化、资产应用化、应用价值化构建属于企业的可闭环、可沉淀、可持续的数据赋能体系进行分享,基于智能数据采集(U-SDC),用户数据平台(U-CDP),数据开放平台(U-DOP)探讨如何建立企业的数据银行。 一、构建可闭环、可沉淀、可持续的企业级数据赋能体系的背景 1.数据“四化” 如何让属于企业自己的不同触点的数据快速形成一个闭环,沉淀串联这些零散的数据能够快速应用去赋能业务?这涉及到四个关键词,一是业务数据化,企业所有触点是否为真,是否被打通。第二是数据资产化,能否可以像管理资产一样很好地管理数据。第三是资产应用化,企业的资产能否有效应用?如何借助数据资产赋能业务,最后是应用价值化。所有的应用最终一定是为增长、为获客而服务,必须要有价值。在这背后最重要的是场景必须可闭环,数据必须可沉淀,最终数据中台、数据能源才是可持续的。 2.构建可闭环、可沉淀的数据赋能体系的意义与价值 下图展示了一套可闭环、可沉淀、可持续的企业级数据赋能体系是如何构建的。下图友盟+会推出一个面向企业的数据银行。数据银行和业务是一种什么样的协作关系?开发者数据银行会基于云基础设施,如MaxComput等,不断帮助企业采集各种场景、触点的数据,做相应的数据治理、提纯

Lambda表达式及其应用场景

若如初见. 提交于 2020-03-10 06:30:23
Lanmda表达式 Lambda表达式是给函数式接口( FunctionalInterface )的形参或变量赋值用的. 函数式接口就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。 函数式接口的分类 消费型接口(Consumer)特点:有参无返回值 供给型接口(Supplier)特点:无参有返回值 判断型接口(Predicate)特点:返回值类型为布尔类型 功能型接口(Function) 特点:有参有返回值 import java.util.ArrayList; import java.util.function.Predicate; import java.util.stream.Stream; public class TestLambda { public static void main(String[] args) { 1、消费型接口 //consumer<T> : void accept<T t> //集合java.lang.Collection系列的集合在java8之后增加了这样的方法: // default void forEach(consumer<? super T> action) ArrayList<Integer> a = new ArrayList<>(); a.add(1);a.add(2);a.add(3);a.add(4);a.add

阿里云视觉智能API,核心技术一站共享!

拈花ヽ惹草 提交于 2020-03-09 15:56:42
随着人工智能的技术不断成熟,AI技术已应用到了社会的各行各业,尤其是计算机视觉技术应用更为广泛,计算机视觉(Computer Vision)是一门研究如何使机器“看”的科学,计算机视觉智能技术试图创建能够从图像视频或者多维数据中获取“信息和知识”的人工智能系统。作为AI技术的主要组成部分,计算机视觉(图像、视频、3D图形)智能技术近年来随着深度学习、大规模数据处理能力及云基础设施的迅猛发展,逐步应用到各行各业中,发挥了越来越大的作用。 背景:阿里巴巴集团内的视觉智能基石 视觉智能技术相比其它AI类技术(语音语言等),功能流派更多,场景也更复杂 。整个阿里巴巴经济体围绕着自身大量业务场景(电商零售、金融物流、文娱营销、企业服务等多个行业)的应用需求,应用了大量的视觉智能技术作为产品和解决方案的基石,这些产品有些在今天已经被社会所熟知,如天猫,淘宝,支付宝,1688等。 这些视觉类技术方案、产品或能力中,除了场景内部的业务属性技术外,起到核心且基础作用的,是数量众多、功能各异的,以API形式服务于上层的视觉原子能力(或能力组件)。这些原子能力,有些是通用的,但大部分是面向场景的。在服务模式上,为了体现规模化、多样性的优势,以及追求接入、发现和运行的低成本,需要有一种统一的平台和服务方式,让这些大厦的基石走出阿里,去服务更广泛的用户和开发者群体,发挥更大的价值。 全栈式视觉智能

ZooKeeper的作用、应用场景和替代品

狂风中的少年 提交于 2020-03-09 07:39:33
ZooKeeper 我想大家应该都略有耳闻,可能你在开发中没有直接使用过,但常用的 Hadoop、HBase、Kafka、Dubbo 等都有使用到 ZooKeeper。那 ZooKeeper 到底起到了什么样的作用,为什么这些框架、系统需要使用 ZooKeeper呢,我们在开发过程中应该如何使用 ZooKeeper,又是否有 ZooKeeper的替代品呢。本文将围绕以上问题,从以下三方面说起: 来源与作用; 经典应用场景; 替代品。 1. 来源与作用 ZooKeeper 的设计初衷是什么?这要从雅虎的一个研究小组说起。当时,研究人员发现雅虎内部的很多分布式系统都需要依赖一个组件进行分布式协调,但是这些组件往往都存在分布式单点问题。所以雅虎便组织开发了 一个通用的无单点问题的分布式协调框架 ,那就是 ZooKeeper,一方面解决 单点问题 ,另一方面,将 分布式协调 从分布式系统中 抽离 出来,让开发者更专注于业务逻辑。 下面分别对 “单点问题” 和 “分布式协调” 进行讲述。 1.1 单点问题 单点问题(又叫单点故障,Single Point of Failure,SPOF)是指在系统中一旦失效就会让整个系统无法运作的部件。举个例子,将系统只部署在机器 A 一台机器上,如果机器 A 失效,则整个系统将无法运作。而为了解决该问题,一般采用冗余的方式,增加多台机器

zookeeper之基础简介

邮差的信 提交于 2020-03-09 00:13:38
文章目录 1 zookeeper简介 1.1 数据发布与订阅(配置中心) 1.2 负载均衡 1.3 命名服务(Naming Service) 1.4 分布式通知/协调 1.5 集群管理与 Master 选举 1.6 分布式锁 1.7 分布式队列 1 zookeeper简介 ZooKeeper 是一个高可用的分布式数据管理不系统协调框架。基于对 Paxos 算法的实现,使该框架保证了分布式环境中数据的强一致性,也正是基于这样的特性,使得 ZooKeeper 解决很多分布式问题。 网上对 ZK 的应用场景也有不少介绍,本文将系统地对 ZK 的应用场景迚行一个分门归类的介绍。 值得注意的是, ZK 并非天生就是为这些应用场景设计的,都是后来众多开发者根据其框架的特性,利用其提供的一系列 API 接口,摸索出来的典型使用方法。 1.1 数据发布与订阅(配置中心) 发布不订阅模型,即所谓的 配置中心 ,顾名思义就是发布者将数据发布到 ZK 节点上,供订阅者动态获取数据,实现配置信息的集中式管理和动态更新。例如全局的配置信息,服务式服务框架的服务地址列表等就非常适合使用。 应用中用到的一些配置信息放到 ZK 上迚行集中管理。这类场景通常是这样:应用在启劢的时候会主动来获取一次配置,同时,在节点上注册一个 Watcher ,这样一来,以后每次配置有更新的时候,都会实时通知到订阅的客户端

spark 应用场景2-身高统计

血红的双手。 提交于 2020-03-07 11:54:25
原文引自:http://blog.csdn.net/fengzhimohan/article/details/78564610 a. 案例描述 本案例假设我们需要对某个省的人口 (10万) 性别还有身高进行统计,需要计算出男女人数,男性中的最高和最低身高,以及女性中的最高和最低身高。本案例中用到的源文件有以下格式, 三列分别是 ID,性别,身高 (cm),格式如下: b.人口数据的生成 利用Java语言随机生成一组人口数据,包括序列ID,性别M/F,身高cm,代码如下: 1 import java.io.File; 2 import java.io.FileWriter; 3 import java.io.IOException; 4 import java.util.Random; 5 6 /** 7 * Created by Administrator on 2017/11/13. 8 */ 9 public class PeopleInfoFileGenerator { 10 public static void main(String[] args){ 11 File file = new File("F:\\PeopleInfo.txt"); 12 13 try { 14 Random random = new Random();//生成随机数 15 FileWriter

技术破局:如何实现分布式架构与云原生?| 含 ppt 下载

こ雲淡風輕ζ 提交于 2020-03-06 18:28:35
2月19日-2月26日,蚂蚁金服开展了“共战‘疫情’,技术破局”数字课堂线上直播,邀请资深专家从“云原生”、“研发效能”、“数据库”三方面分享蚂蚁金服的实践经验并在线答疑,解析 PaaS 在金融场景的落地建设实践,解析支付宝移动端弹性动态架构,分享 OceanBase 2.2版本的特性和实践。 本文根据 蚂蚁金服 SOFAStack 产品专家俞仁杰 ,在蚂蚁金服数字课堂直播间分享的云原生应用 PaaS 平台的建设实践内容整理,以下为演讲整理全文: 大家好,欢迎来到蚂蚁金服数字课堂直播间。今年 2 月,SOFAStack 金融分布式架构产品已经在阿里云上完成了商业化发布,为了让更多朋友了解到我们的产品的能力、定位以及背后的设计思路,后续我们会有一系列的直播分享。我们今天想分享给大家的话题叫《 云原生应用 PaaS 平台的建设实践 》,主要会围绕 PaaS 产品能力在一些需要稳妥创新的金融场景下的落地思路,并且能够更好地与云原生架构做好链接。 金融场景云原生落地面临挑战 云原生是业务快速变化背景下的必然技术趋势 回顾 IT 的发展史,云计算分类为 IaaS PaaS 和 SaaS 已经有十几年了。而事实上,整个云计算行业的发展,我们能够明显看到企业在落地云计算战略的时候经历的三个阶段,Cloud-Based, Cloud-Ready, Cloud-Native

redis常见应用场景

♀尐吖头ヾ 提交于 2020-03-06 15:39:26
1、热点数据的缓存 由于redis访问速度块、支持的数据类型比较丰富,所以redis很适合用来存储热点数据,另外结合expire,我们可以设置过期时间然后再进行缓存更新操作,这个功能最为常见,我们几乎所有的项目都有所运用。 2、限时业务的运用 redis中可以使用expire命令设置一个键的生存时间,到时间后redis会删除它。利用这一特性可以运用在限时的优惠活动信息、手机验证码等业务场景。 3、计数器相关问题 redis由于incrby命令可以实现原子性的递增,所以可以运用于高并发的秒杀活动、分布式序列号的生成、具体业务还体现在比如限制一个手机号发多少条短信、一个接口一分钟限制多少请求、一个接口一天限制调用多少次等等。 4、排行榜相关问题 关系型数据库在排行榜方面查询速度普遍偏慢,所以可以借助redis的SortedSet进行热点数据的排序。 在奶茶活动中,我们需要展示各个部门的点赞排行榜, 所以我针对每个部门做了一个SortedSet,然后以用户的openid作为上面的username,以用户的点赞数作为上面的score, 然后针对每个用户做一个hash,通过zrangebyscore就可以按照点赞数获取排行榜,然后再根据username获取用户的hash信息,这个当时在实际运用中性能体验也蛮不错的。 5、分布式锁 这个主要利用redis的setnx命令进行,setnx: