经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
 Scala

akka-typed(1) - actor生命周期管理

   akka-typed的actor从创建、启用、状态转换、停用、监视等生命周期管理方式和akka-cla ic还是有一定的不同之处。这篇我们就介绍一下akka-typed的actor生命周期管理。 每一种actor都是通过定义它的行为属性behavior形成模版...[2020/11/9]

akka-typed(2) - typed-actor交流方式和交流协议

   akka系统是一个分布式的消息驱动系统。akka应用由一群负责不同运算工作的actor组成,每个actor都是被动等待外界的某种消息来驱动自己的作业。所以,通俗点描述:akka应用就是一群actor相互之间发送消息的系统,每个actor接收到消息后开始自己负责的...[2020/11/9]

akka-typed(3) - PersistentActor has EventSourcedBehavior

   akka-typed中已经没有PersistentActor了。取而代之的是带有EventSourcedBehavior的actor,也就是一种专门支持EventSource模式的actor。EventSource的原理和作用在之前的博客里已经有了比较详细的介绍...[2020/11/9]

akka-typed(4) - EventSourcedBehavior in action

  前面提到过,akka-typed中较重要的改变是加入了EventSourcedBehavior。也就是说增加了一种专门负责EventSource模式的actor, 最终和其它种类的actor一道可以完美实现CQRS。新的actor,我还是把它称为persistentActo...[2020/11/9]

kka-typed(5) - cluster:集群节点状态监视

 akka-cluster对每个节点的每种状态变化都会在系统消息队列里发布相关的事件。通过订阅有关节点状态变化的消息就可以获取每个节点的状态。这部分已经在之前关于akka-cluster的讨论里介绍过了。由于akka-typed里采用了新的消息交流协议,而系统消息的发布和订阅也...[2020/11/9]

akka-typed(6) - cluster:group router, cluster-load-balancing

先谈谈akka-typed的router actor。route 分pool router, group router两类。我们先看看pool-router的使用示范: val pool = Routers.pool(poolSize = 4)( ma...[2020/11/9]

akka-typed(7) - cluster:sharding, 集群分片

akka-typed(7) - cluster:sharding, 集群分片

  在使用akka-typed的过程中发现有很多地方都简化了不少,变得更方便了,包括:Supervision,只要用Behaviors.supervise()把Behavior包住,很容易就可以实现这个actor的SupervisorStrategy.restartWithBa...[2020/11/9]

akka-typed(8) - CQRS读写分离模式

akka-typed(8) - CQRS读写分离模式

 前面介绍了事件源(EventSource)和集群(cluster),现在到了讨论CQRS的时候了。CQRS即读写分离模式,由独立的写方程序和读方程序组成,具体原理在以前的博客里介绍过了。akka-typed应该自然支持CQRS模式,最起码本身提供了对写方编程的支持,这点从Ev...[2020/11/9]

Scala 中的约定

Scala 中的约定

 内容来自书籍《Scala 实用指南》3.8 Scala 中有一些约定,可以让代码简洁且易于阅读、编写。下面是这些特性的示例。 支持脚本。不是所有的代码都需要放在一个类中。如果一个脚本就能满足需求,就直 接将可执行的代码放在一个文件中,没有必要都堆在一个类中。 ...[2020/11/9]

akka-typed(10) - event-sourcing, CQRS实战

在前面的的讨论里已经介绍了CQRS读写分离模式的一些原理和在akka-typed应用中的实现方式。通过一段时间akka-typed的具体使用对一些经典akka应用的迁移升级,感觉最深的是EvenSourcedBehavior和akka-cluster-sharding了。前者是经典akk...[2020/11/9]

akka-grpc - 基于akka-http和akka-streams的scala gRPC开发工具

 关于grpc,在前面的scalaPB讨论里已经做了详细的介绍:google gRPC是一种全新的RPC框架,在开源前一直是google内部使用的集成工具。gRPC支持通过http/2实现protobuf格式数据交换。protobuf即protocol buffer,是goog...[2020/11/9]

akka-grpc - 应用案例

akka-grpc - 应用案例

  上期说道:http/2还属于一种不算普及的技术协议,可能目前只适合用于内部系统集成,现在开始大面积介入可能为时尚早。不过有些项目需求不等人,需要使用这项技术,所以研究了一下akka-grpc,写了一篇介绍。本想到此为止,继续其它项目。想想这样做法有点不负责任,像是草草收场。...[2020/11/9]

Java/Scala 中三种特殊类型的值

在Java或Scala中存在三种特殊类型的值,分别是Infinity,-Infinity,NaN,但这三个特殊值只存在于Double类型的计算过程中,对于同样形式的计算整形数据则会抛出异常如1.0/0.0 和 1/0 是不一样的r def main(args: Array[Str...[2020/11/9]

scala 命名规范

包名 规范 一般是小写字母、数字、点组成 不能以数字开头 不能使用关键字 示例 com.公司名.项目名.模块名 com.guigu.oa.model com.sina.user 类名 规范 数字、字母、下划线、美元符号组成 一般以大写字母开头 一般使用驼峰命名法 不能使用关键字 ...[2020/11/9]

akka-streams - 从应用角度学习:basic stream parts

   实际上很早就写了一系列关于akka-streams的博客。但那个时候纯粹是为了了解akka而去学习的,主要是从了解akka-streams的原理为出发点。因为akka-streams是akka系列工具的基础,如:akka-http, persistence-qu...[2020/11/9]

scala case class + BeanProperty+fastjson 快速实现类的序列化与反序列化

在实际的开发中,我们往往需要定义大量的类结构,来实现面向对象式的数据管理。考虑一种场景,这种场景下单个类管理的类成员变量有很多个,我们如何实现在少量代码编写的情况先实现一个类的序列化? 1. 在Java 中要实现一个类的序列化,需要 implements Serializab...[2020/11/9]

flink 两个datastream实现left_join的两种方法

本文只是以left_join作为举例,right_join,full_join 等是同理的,大家可以自行扩展   1. 实验思路   1.提供两个流             nameStream: 用...[2020/11/9]

flink 处理实时数据的三重保障

flink 处理实时数据的三重保障 window+watermark 来处理乱序数据 对于 TumblingEventTimeWindows window 的元数据startTime,endTime 和程序启动时间无关,当你指定出 window.size...[2020/11/9]

flink 如何实现对watermark 的checkpoint,防止数据复写

fink slink 后的数据被复写了??? 生产环境总会遇到各种各样的莫名其名的数据,一但考虑不周便是车毁人亡啊。   线上sink 流是es , es 的文档id 是自定义的 id+windowSatarTime 设window size = 10min , wa...[2020/11/9]

Spark Core知识点复习-1

Day1111 Spark任务调度 Spark几个重要组件 Spark Core RDD的概念和特性 生成RDD的两种类型 RDD算子的两种类型 算子练习 分区 RDD的依赖关系 DAG:有向无环图 任务提交 缓存 ...[2019/11/12]

restapi(9)- caching, akka-http 缓存

restapi作为前后端交互的枢纽:面对大批量的前端请求,需要确保回复的及时性。使用缓存是一项有效工具。我们可以把多数前端请求的回复response存入缓存,特别是一些需要大量计算才能获取的回复值,更可以大大提高后端的反应速度。值得庆幸的是akka-http已经提供了对缓存的支持,是基于...[2019/11/12]

Scala Types 2

存在类型 形式: forSome { type ... } 或 forSome { val ... } 主要为了兼容 Java 的通配符 示例 Array[_] 等价于 Array[T] forSome { type T} Map[_, _] 等价于 Map[T, U] f...[2019/11/4]

Scala Types 1

Scala Types 1

在 Scala 中所有值都有一种对应的类型 单例类型 形式:value.type,返回类型 value / null 场景1:链式API调用时的类型指定 cla Super { def m1(t: Int) = {println(t); this} def m2(t: I...[2019/10/30]

restapi(8)- restapi-sql:用户自主的服务

  学习函数式编程初衷是看到自己熟悉的oop编程语言和sql数据库在现代商业社会中前景暗淡,准备完全放弃windows技术栈转到分布式大数据技术领域的。但是在现实中理想总是不如人意,本来想在一个规模较小的公司展展拳脚,以为小公司会少点历史包袱,有利于全面技术改造。但现实是:即使...[2019/10/29]

新手如何进入大数据领域,学习路线是什么

新手如何进入大数据领域,学习路线是什么

大数据不是某个专业或一门编程语言,实际上它是一系列技术的组合运用。 有人通过下方的等式给出了大数据的定义。 大数据 = 编程技巧 + 数据结构和算法 + 分析能力 + 数据库技能 + 数学 + 机器学习 + NLP + OS + 密码学 + 并行编程 虽然这个等式看起来很长...[2019/10/12]

Scala Type Parameters 2

类型关系 Scala 支持在泛型类上使用型变注释,用来表示复杂类型、组合类型的子类型关系间的相关性 协变 +T,变化方向相同,通常用在生产 假设 A extends T, 对于 Clazz[+T],则 Clazz[A] 也可看做 Clazz[T] 官网示例 abstr...[2019/10/10]

Scala Type Parameters 1

类型参数 表现形式:在名称后面以方括号表示, Array[T] 何处使用 cla 中,用于定义变量、入参、返回值 cla Pair[T, S](val first: T, val second: S) scala 可自动推断具体的类型 val p = new Pair(42...[2019/10/9]

Scala Class etc. 2

Higher-Order Functions def 定义的是方法,而不是函数 函数可作为变量存在,可直接调用,也可作为值传递给其他函数 _ 后缀将普通方法变为函数: ceil _ 根据上下文编译器可以自动将方法转换为函数,也可省略 _ 后缀 高阶函数,接收函数的函数 参数类型推导 ...[2019/10/8]

Scala Operators, File & RegExp

Operators Thread.`yield`() 反引号除了用于命名标识符,还可以在调用方法时避免冲突(yield 为 Scala 关键字,但也是 Thread 的方法) 中缀运算符(infix operators),实际是带两个参数的方法,定义时跟普通方法一样;a to b 实际是...[2019/10/8]

Scala Collection Method

接收一元函数 map 转换元素,主要应用于不可变集合 (1 to 10).map(i => i * i) (1 to 10).flatMap(i => (1 to i).map(j => i * j)) transform 与 map 相同,不过用于可变集合,直...[2019/10/8]

Scala XML

XML 直接在代码中使用 XML 字面量 val doc: Elem = <html><head><title>Test</title></head><body>test</body></htm...[2019/10/8]

Scala Future

Future scala.concurrent.Future 异步执行代码块 import java.time._ import scala.concurrent._ import ExecutionContext.Implicits.global 全局线程池 Future { ...[2019/10/8]

restapi(7)- 谈谈函数式编程的思维模式和习惯

  国庆前,参与了一个c# .net 项目,真正重新体验了一把搬砖感觉:在一个多月时间好像不加任何思考,不断敲键盘加代码。我想,这也许是行业内大部分中小型公司程序猿的真实写照:都是坐在电脑前的搬砖工人。不过也不是没有任何收获,在搬砖的过程中我似乎发现了一些现象和造成这些现象背后...[2019/10/8]

Scala Class etc.

Cla es 一个源文件可包含多个类,每个类默认都是 public 类字段必须初始化,编译后默认是 private,自动生成 public 的 getter etter ;Person 示例 private 字段,生成 private 的 getter etter val 字段,只生成...[2019/9/30]

Scala Basis

基础 Scala 中数据类型也是 cla 7 种数值类型: Byte, Char, Short, Int, Long, Float, and Double Boolean 类型 原始类型与 cla 类型无区别,可在数字上调用方法(隐式转换为对应的方法调用,如对 Int 操作转为 ...[2019/9/29]

Scala Data Structure

Arrays Array 固定长度;ArrayBuffer 可变长度 arr.toBuffer, buf.toArray 初始化是不要使用 new 使用 () 访问元素 使用 for (elem <- arr) 遍历元素;倒序 arr.reverse 使用 for (elem ...[2019/9/29]

[Scala]集合中List元素转Tuple元素的函数迭代写法

____ 本文链接: https: www.cnblogs.com enwren/p/Scala-Lis-2-Tuple.html ——   Scala没有提供相应写法, 但迭代写法仍然可以做到。   有两种写法...[2019/9/26]

实时计算数据架构的演变

传统数据基础架构 传统单体数据架构最大的特点便是集中式数据存储,大多数分为计算层和存储层。 存储层,主要是负责存储企业各种系统产生的数据,如 Web 业务系统、订单系统、CRM 系统,ERP 系统、监控系统,数据比如系统的订单交易量,网站的活跃用户数,每个用户的交易额。 所有的操作均需...[2019/9/19]

flink有什么优势值得大家这么热衷

flink 通过实现了 Google Dataflow 流式计算模型实现了高吞吐、低延迟、高性能兼具实时流式计算框架。 同时 flink 支持高度容错的状态管理,防止状态在计算过程中因为系统异常而丢失,flink 周期性地通过分布式快照技术 Checkpoints 实现状态的持久化维护...[2019/9/19]

Scala 匹配模式

模式匹配 Scala是没有Java中的switch case语法的,相对应的,Scala提供了更加强大的match case语法,即模式匹配,类替代switch case,match case也被称为模式匹配 Scala的match case与Java的switch cas...[2019/9/2]

Scala 隐式转换和隐式参数

介绍 Scala提供的隐式转换和隐式参数功能,是非常有特色的功能。是Java等编程语言所没有的功能。它可以允许你手动指定,将某种类型的对象转换成其他类型的对象。通过这些功能,可以实现非常强大,而且特殊的功能。   Scala的隐式转换,其实最核心的就是定义隐式转换函数...[2019/9/2]

Scala 数组操作之Array、ArrayBuffer以及遍历数组

ArrayBuffer   在Scala中,如果需要类似于Java中的ArrayList这种长度可变的集合类,则可以使用ArrayBuffer。   如果不想每次都使用全限定名,则可以预先导入ArrayBuffer类 import scala.c...[2019/8/30]

Scala 函数式编程

将函数赋值给变量 Scala中的函数是一等公民,可以独立定义,独立存在,而且可以直接将函数作为值赋值给变量 Scala的语法规定,将函数赋值给变量时,必须在函数后面加上空格和下划线   def sayHello(name: String) { printl...[2019/8/30]

Scala 函数式编程

将函数赋值给变量 Scala中的函数是一等公民,可以独立定义,独立存在,而且可以直接将函数作为值赋值给变量 Scala的语法规定,将函数赋值给变量时,必须在函数后面加上空格和下划线   def sayHello(name: String) { printl...[2019/8/30]

scala 函数式编程之集合操作

Scala的集合体系结构   Scala中的集合体系主要包括:Iterable、Seq、Set、Map。其中Iterable是所有集合trait的根trai。这个结构与Java的集合体系非常相似。   Scala中的集合是分成可变和不可变两类集合...[2019/8/30]

spark针对web日志正则匹配

    针对于web日志做分析是学习spark常用练习项目。此文介绍web日志正则匹配相关小提示。  实例测试   从网上找了一个acce 日志案列 218.19.140.242 - - [10/Dec/2010:09:31:17 +0800] ...[2019/8/28]

Scala 系列(二)—— 基本数据类型和运算符

一、数据类型 1.1 类型支持 Scala 拥有下表所示的数据类型,其中 Byte、Short、Int、Long 和 Char 类型统称为整数类型,整数类型加上 Float 和 Double 统称为数值类型。Scala 数值类型的取值范围和 Java 对应类型的取值范围相同。 数据...[2019/8/28]

Scala 基础语法

Scala 基础语法

Scala解释器的使用   ·REPL:Read(取值)-> Evaluation(求值)-> Print(打印)-> Loop(循环)。scala解释器也被称为REPL,会快速编译scala代码为字节码,然后交给JVM来执行。 &nb...[2019/8/27]

Scala 函数基础入门

函数的定义与调用 在Scala中定义函数时,需要定义函数的函数名、参数、函数体。 我们的第一个函数如下所示:      def sayHello(name: String, age: Int) = {         if (age &...[2019/8/27]

restapi(6)- do it the functional way, 重温函数式编程

  再次看了看上篇博客的源代码,发现连自己都看不懂了。想是为了赶时间交货不知不觉又回到OOP行令模式了,看看下面这段代码: (post & parameters(''pid,''desc.?,''width.as[Int].?,''heigth....[2019/8/26]

346
2
记录数:163 页数:1/41234下一页尾页
加载更多
 友情链接: NPS  问卷模板