0

akka-typed(4) - EventSourcedBehavior in action

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

雪川大虫 发布于 2020-06-06 12:19 评论(0)阅读(45)
0

akka-typed(3) - PersistentActor has EventSourcedBehavior

akka-typed中已经没有PersistentActor了。取而代之的是带有EventSourcedBehavior的actor,也就是一种专门支持EventSource模式的actor。EventSource的原理和作用在之前的博客里已经有了比较详细的介绍,这里就不再重复了。本篇直接从Even ...

雪川大虫 发布于 2020-06-03 08:06 评论(0)阅读(33)
0

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

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

雪川大虫 发布于 2020-05-29 13:03 评论(1)阅读(89)
0

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

akka-typed的actor从创建、启用、状态转换、停用、监视等生命周期管理方式和akka-classic还是有一定的不同之处。这篇我们就介绍一下akka-typed的actor生命周期管理。 每一种actor都是通过定义它的行为属性behavior形成模版,然后由对上一层的父辈actor用sp ...

雪川大虫 发布于 2020-05-27 20:20 评论(0)阅读(69)
0

一起学scala--Map&Tuple

一个经典的程序猿名言是:”如果只能有一种数据结构,那就用哈希表吧。“ ...

yoleen 发布于 2020-05-26 22:36 评论(0)阅读(20)
0

akka-typed(0) - typed-actor, typed messages

akka 2.6.x正式发布以来已经有好一段时间了。核心变化是typed-actor的正式启用,当然persistence,cluster等模块也有较大变化。一开始从名称估摸就是把传统any类型的消息改成强类型消息,所以想拖一段时间看看到底能对我们现有基于akka-classic的应用软件有什么深层 ...

雪川大虫 发布于 2020-05-26 21:45 评论(1)阅读(47)
1

一起学scala--控制结构和函数

你将学到如何在scala中使用条件表达式、循环和函数。在scala中,if表达式是有值的,块也有值--是它最后一个表达式的值,几乎所有构造出来的语法结构都有值,这个特性使程序更加精简。 ...

yoleen 发布于 2020-05-19 18:20 评论(0)阅读(25)
0

一起学scala--基础

scala基础 安装scala(不推荐使用最新版本,2.11.x够用了) "scala官网" "2.11.12版本下载页面" 这里我选择2.11.12版本,在下载页面往下拉,选择scala 2.11.12.msi(windows用户),msi安装比较简单,一直点点就行。如果下载速度慢,建议用迅雷。 ...

yoleen 发布于 2020-05-17 23:18 评论(0)阅读(30)
0

search(14)- elastic4s-统计范围:global, filter,post-filter bucket

聚合一般作用在query范围内。不带query的aggregation请求实际上是在match_all{}查询范围内进行统计的: GET /cartxns/_search { "aggs": { "all_colors": { "terms": {"field" : "color.keyword"} ...

雪川大虫 发布于 2020-05-16 22:40 评论(0)阅读(30)
0

search(13)- elastic4s-histograms:聚合直方图

在聚合的分组统计中我们会面临两种分组元素类型:连续型如时间,自然数等、离散型如地点、产品等。离散型数据本身就代表不同的组别,但连续型数据则需要手工按等长间隔进行切分了。下面是一个按价钱段聚合的例子: POST /cartxns/_search { "size" : 1, "aggs": { "sal ...

雪川大虫 发布于 2020-05-15 21:26 评论(0)阅读(41)
0

search(12)- elastic4s-聚合=桶+度量

这篇我们介绍一下ES的聚合功能(aggregation)。聚合是把索引数据可视化处理成可读有用数据的主要工具。聚合由bucket桶和metrics度量两部分组成。 所谓bucket就是SQL的GROUPBY,如下: GET /cartxns/_search { "size" : 2, "aggs": ...

雪川大虫 发布于 2020-05-12 22:09 评论(0)阅读(38)
0

search(11)- elastic4s-模糊查询

很多时候搜索用户对查询语句具有模糊感觉,他们只能提供大约的描述。比如一个语句的部分,或者字句顺序颠倒等。通过模糊查询可以帮助用户更准确的找出他们希望搜索的结果。 模糊查询包括前后缀,语句(phrase)查询。前缀查询在非文本查询和全文查询字段中使用是有着不同的效果:在非文本字段查询中我们需要严格按照 ...

雪川大虫 发布于 2020-05-10 21:25 评论(0)阅读(131)
0

search(10)- elastic4s-multi_match:多字段全文搜索

在全文搜索中我们常常会在多个字段中匹配同一个查询条件或者在不同的字段中匹配不同的条件。比如下面这个例子: GET /books/_search { "query": { "bool": { "should": [ { "match": { "title": "和平战争" }}, { "match": ...

雪川大虫 发布于 2020-05-09 15:06 评论(0)阅读(136)
1

search(9)- elastic4s logback-appender

前面写了个cassandra-appender,一个基于cassandra的logback插件。正是cassandra的分布式数据库属性才合适作为akka-cluster-sharding分布式应用的logger。所以,cassandra-appender核心功能就是对logback消息的存写部分了 ...

雪川大虫 发布于 2020-05-05 20:48 评论(0)阅读(116)
0

search(8)- elastic4s-search-query模式

上篇提过query模式除对记录的筛选之外还对符合条件的记录进行了评分,即与条件的相似匹配程度。我们把评分放在后面的博文中讨论,这篇我们只介绍query查询。 查询可以分为绝对值查询和全文查询:绝对值查询是指非text类型字段的查询,全文查询一般指对于text字段的查询。如果需要对text字段进行绝对 ...

雪川大虫 发布于 2020-04-28 08:55 评论(0)阅读(48)
0

search(7)- elastic4s-search-filter模式

现在我们可以开始探讨ES的核心环节:搜索search了。search又分filter,query两种模式。filter模式即筛选模式:将符合筛选条件的记录作为结果找出来。query模式则分两个步骤:先筛选,然后对每条符合条件记录进行相似度计算。就是多了个评分过程。如果我们首先要实现传统数据库的查询功 ...

雪川大虫 发布于 2020-04-26 21:19 评论(0)阅读(59)
0

search(6)- elastic4s-CRUD

如果我们把ES作为某种数据库来使用的话,必须熟练掌握ES的CRUD操作。在这之前先更正一下上篇中关于检查索引是否存在的方法:elastic4s的具体调用如下: //删除索引 val rspExists = client.execute(indexExists("company")).await if ...

雪川大虫 发布于 2020-04-21 21:14 评论(0)阅读(61)
0

search(5)- elastic4s-构建索引

按照计划,这篇开始尝试用elastic4s来做一系列索引管理和搜索操作示范。前面提过,elastic4s的主要功能之一是通过组合Dsl语句形成json请求。那么我们先试试组合一些Dsl语句,再想办法产生出json请求文本,然后在kibana控制台中验证它的正确性。 首先看看elastic4s提供的一 ...

雪川大虫 发布于 2020-04-18 20:18 评论(1)阅读(108)
1

search(4)- elastic4s-ElasticDsl

上次分析了一下elastic4s的运算框架。本来计划接着开始实质的函数调用示范,不过看过了Elastic4s的所有使用说明文档后感觉还是走的快了一点。主要原因是elasticsearch在7.0后有了很多重点调整改变,elastic4s虽然一直在源代码方面紧跟ES的变化,但使用文件却一直未能更新,所 ...

雪川大虫 发布于 2020-04-16 22:06 评论(0)阅读(160)
1

Scala学习系列(二)——环境安装配置

Scala下载地址:https://www.scala lang.org/download/ 一、安装JDK 首先,因为Scala是运行在JVM平台上的,所以安装Scala之前要安装JDK 二、二进制安装方式 我们可以直接用二进制安装Scala 还是下载网址 Windows安装Scala编译器 访问 ...

独孤风 发布于 2020-04-13 09:05 评论(0)阅读(74)