摘要:
Callable 接口类似于 Runnable,从名字就可以看出来了,但是 Runnable 不会返 回结果,并且无法抛出返回结果的异常,而 Callable 功能更强大一些,被线程执 行后,可以返回值,这个返回值可以被 Future 拿到,也就是说,Future 可以拿到 异步执行任务的返回值。
阅读全文
posted @ 2020-07-20 07:10
咔啡
阅读(189)
推荐(1)
摘要:
有联合查询和嵌套查询,联合查询是几个表联合查询,只查询一次, 通过在 resultMap 里面配置 association 节点配置一对一的类就可以完成; 嵌套查询是先查一个表,根据这个表里面的结果的 外键 id,去再另外一个表里面 查询数据,也是通过 association 配置,但另外一个表的查
阅读全文
posted @ 2020-07-20 06:56
咔啡
阅读(824)
推荐(0)
摘要:
不是。官方声明:一个 Watch 事件是一个一次性的触发器,当被设置了 Watch 的数据发生了改变的时候,则服务器将这个改变发送给设置了 Watch 的客户端, 以便通知它们。 为什么不是永久的,举个例子,如果服务端变动频繁,而监听的客户端很多情况 下,每次变动都要通知到所有的客户端,给网络和服务
阅读全文
posted @ 2020-07-20 06:55
咔啡
阅读(556)
推荐(1)
摘要:
根据 Martin Flower 的说法,合同测试是在外部服务边界进行的测试,用于验证 其是否符合消费服务预期的合同。 此外,合同测试不会深入测试服务的行为。更确切地说,它测试该服务调用的输 入&输出包含所需的属性和所述响应延迟,吞吐量是允许的限度内。
阅读全文
posted @ 2020-07-19 18:58
咔啡
阅读(254)
推荐(0)
摘要:
查看所有 env 查看某个,如 home: env $HOME
阅读全文
posted @ 2020-07-19 18:56
咔啡
阅读(359)
推荐(0)
摘要:
跨功能测试是对非功能性需求的验证,即那些无法像普通功能那样实现的需求。
阅读全文
posted @ 2020-07-19 18:54
咔啡
阅读(231)
推荐(0)
posted @ 2020-07-19 18:52
咔啡
阅读(194)
推荐(0)
摘要:
Mybatis 仅支持 association 关联对象和 collection 关联集合对象的延迟加 载,association 指的就是一对一,collection 指的就是一对多查询。在 Mybatis 配置文件中,可以配置是否启用延迟加载 lazyLoadingEnabled=true|fa
阅读全文
posted @ 2020-07-19 18:51
咔啡
阅读(323)
推荐(0)
摘要:
服务失效踢出基于 zookeeper 的临时节点原理。
阅读全文
posted @ 2020-07-19 18:49
咔啡
阅读(484)
推荐(0)
摘要:
Mybatis 仅支持 association 关联对象和 collection 关联集合对象的延迟加 载,association 指的就是一对一,collection 指的就是一对多查询。在 Mybatis 配置文件中,可以配置是否启用延迟加载 lazyLoadingEnabled=true|fa
阅读全文
posted @ 2020-07-19 18:47
咔啡
阅读(262)
推荐(0)
posted @ 2020-07-19 18:45
咔啡
阅读(970)
推荐(0)
摘要:
#{}是预编译处理,${}是字符串替换。 Mybatis 在处理#{}时,会将 sql 中的#{}替换为?号,调用 PreparedStatement 的 set 方法来赋值; Mybatis 在处理${}时,就是把${}替换成变量的值。 使用#{}可以有效的防止 SQL 注入,提高系统安全性。
阅读全文
posted @ 2020-07-19 18:42
咔啡
阅读(1309)
推荐(0)
摘要:
PACT 是一个开源工具,允许测试服务提供者和消费者之间的交互,与合同隔离, 从而提高微服务集成的可靠性。 微服务中的用法 用于在微服务中实现消费者驱动的合同。 测试微服务的消费者和提供者之间的消费者驱动的合同。 查看即将到来的批次
阅读全文
posted @ 2020-07-19 18:40
咔啡
阅读(433)
推荐(0)
摘要:
这基本上是用于开发微服务的模式,以便它们可以被外部系统使用。当我们处理 微服务时,有一个特定的提供者构建它,并且有一个或多个使用微服务的消费者。 通常,提供程序在 XML 文档中指定接口。但在消费者驱动的合同中,每个服务消 费者都传达了提供商期望的接口。
阅读全文
posted @ 2020-07-19 18:38
咔啡
阅读(317)
推荐(0)
摘要:
语义监控,也称为 综合监控, 将自动化测试与监控应用程序相结合,以检测业 务失败因素。
阅读全文
posted @ 2020-07-19 18:35
咔啡
阅读(388)
推荐(1)
摘要:
1、Mybatis 和 hibernate 不同,它不完全是一个 ORM 框架,因为 MyBatis 需要 程序员自己编写 Sql 语句。 2、Mybatis 直接编写原生态 sql,可以严格控制 sql 执行性能,灵活度高,非常 适合对关系数据模型要求不高的软件开发,因为这类软件需求变化频繁,一但
阅读全文
posted @ 2020-07-19 18:32
咔啡
阅读(234)
推荐(0)
摘要:
分布式事务是指单个事件导致两个或多个不能以原子方式提交的单独数据源的突 变的任何情况。在微服务的世界中,它变得更加复杂,因为每个服务都是一个工 作单元,并且大多数时候多个服务必须协同工作才能使业务成功。
阅读全文
posted @ 2020-07-19 18:31
咔啡
阅读(239)
推荐(0)
摘要:
接口绑定,就是在 MyBatis 中任意定义接口,然后把接口里面的方法和 SQL 语句绑 定, 我们直接调用接口方法就可以,这样比起原来了 SqlSession 提供的方法我们可 以有更加灵活的选择和设置。 接口绑定有两种实现方式,一种是通过注解绑定,就是在接口的方法上面加上 @Select、@Up
阅读全文
posted @ 2020-07-19 18:28
咔啡
阅读(210)
推荐(0)
摘要:
因此,批量导出导入数据并不像您想象中的那么有用。不过在一个场景倒是很有 用。如果您有大量的从不变化的数据,并且希望缓存很快热(warm)起来,批量 导入缓存数据是很有帮助的。虽然这个场景并不典型,但却经常发生,因此我们 会考虑在将来实现批量导出导入的功能。 如果一个 memcached 节点 dow
阅读全文
posted @ 2020-07-19 18:25
咔啡
阅读(291)
推荐(0)
摘要:
Memcached 主要的 cache 机制是 LRU(最近最少用)算法+超时失效。当您存 数据到 memcached 中,可以指定该数据在缓存中可以呆多久 Which is forever, or some time in the future。如果 memcached 的内存不够用了,过期的 s
阅读全文
posted @ 2020-07-19 18:23
咔啡
阅读(174)
推荐(0)
摘要:
zookeeper 采用了全局递增的事务 Id 来标识,所有的 proposal(提议)都在被 提出的时候加上了 zxid,zxid 实际上是一个 64 位的数字,高 32 位是 epoch(时 期; 纪元; 世; 新时代)用来标识 leader 周期,如果有新的 leader 产生出来,epoch
阅读全文
posted @ 2020-07-19 18:21
咔啡
阅读(658)
推荐(0)
摘要:
可以结合 zipkin 实现分布式服务追踪。
阅读全文
posted @ 2020-07-19 18:20
咔啡
阅读(508)
推荐(0)
摘要:
表格的每一行都由主键唯一标识,一个表只有一个主键。 主键也是候选键。按照惯例,候选键可以被指定为主键,并且可以用于任何外键 引用。
阅读全文
posted @ 2020-07-19 18:18
咔啡
阅读(4288)
推荐(0)
摘要:
Memcached 的神奇来自两阶段哈希(two-stage hash)。Memcached 就像一 个巨大的、存储了很多<key,value>对的哈希表。通过 key,可以存储或查询任意 的数据。 客户端可以把数据存储在多台 memcached 上。当查询数据时,客户端首先参考 节点列表计算出 k
阅读全文
posted @ 2020-07-18 08:25
咔啡
阅读(137)
推荐(1)
摘要:
DRY 代表不要重复自己。它基本上促进了重用代码的概念。这导致开发和共享库, 这反过来导致紧密耦合。
阅读全文
posted @ 2020-07-17 18:13
咔啡
阅读(346)
推荐(0)
摘要:
虽然您可以通过多种方式实现微服务,但 REST over HTTP 是实现微服务的一种 方式。REST 还可用于其他应用程序,如 Web 应用程序,API 设计和 MVC 应用程 序,以提供业务数据。 微服务是一种体系结构,其中系统的所有组件都被放入单独的组件中,这些组件 可以单独构建,部署和扩展。
阅读全文
posted @ 2020-07-17 16:49
咔啡
阅读(145)
推荐(0)
摘要:
zk 的负载均衡是可以调控,nginx 只是能调权重,其他需要可控的都需要自己写插件;但是 nginx 的吞吐量比 zk 大很多,应该说按业务选择用哪种方式。
阅读全文
posted @ 2020-07-17 16:16
咔啡
阅读(893)
推荐(0)
摘要:
服务器具有四种状态,分别是 LOOKING、FOLLOWING、LEADING、OBSERVING。 1、LOOKING:寻找 Leader 状态。当服务器处于该状态时,它会认为当前集群中没有 Leader,因此需要进入 Leader 选举状态。 2、FOLLOWING:跟随者状态。表明当前服务器角
阅读全文
posted @ 2020-07-17 16:14
咔啡
阅读(453)
推荐(0)
摘要:
部署模式:单机模式、伪集群模式、集群模式。
阅读全文
posted @ 2020-07-17 16:10
咔啡
阅读(469)
推荐(0)
摘要:
Consumer 端在发起调用之前会先走 filter 链;provider 端在接收到请求时也是先走 filter 链,然后才进行真正的业务逻辑处理。 默认情况下,在 consumer 和 provider 的 filter 链中都会有 Monitorfilter。 1、MonitorFilter
阅读全文
posted @ 2020-07-17 16:08
咔啡
阅读(791)
推荐(0)
摘要:
可以通过 dubbo:reference 中设置 mock="return null"。mock 的值也可以修 改为 true,然后再跟接口同一个路径下实现一个 Mock 类,命名规则是 “接口 名称+Mock” 后缀。然后在 Mock 类里实现自己的降级逻辑
阅读全文
posted @ 2020-07-17 15:40
咔啡
阅读(224)
推荐(0)
摘要:
默认也推荐使用 netty 框架,还有 mina。
阅读全文
posted @ 2020-07-17 15:26
咔啡
阅读(235)
推荐(0)
摘要:
默认是阻塞的,可以异步调用,没有返回值的可以这么做。 Dubbo 是基于 NIO 的非阻塞实现并行调用,客户端不需要启动多线程即可完成并行调用多个远程服务,相对多线程开销较小,异步调用会返回一个 Future 对象。
阅读全文
posted @ 2020-07-17 15:09
咔啡
阅读(505)
推荐(0)
摘要:
目前暂时不支持,可与通过 tcc-transaction 框架实现 介绍:tcc-transaction 是开源的 TCC 补偿性分布式事务框架 Git 地址:https://github.com TCC-Transaction 通过 Dubbo 隐式传参的功能,避免自己对业务代码的入侵。
阅读全文
posted @ 2020-07-17 15:06
咔啡
阅读(285)
推荐(0)
摘要:
1、可以通过版本号使用乐观并发控制,以确保新版本不会被旧版本覆盖,由应用 层来处理具体的冲突; 2、另外对于写操作,一致性级别支持 quorum/one/all,默认为 quorum,即只 有当大多数分片可用时才允许写操作。但即使大多数可用,也可能存在因为网络 等原因导致写入副本失败,这样该副本被认
阅读全文
posted @ 2020-07-17 14:31
咔啡
阅读(1211)
推荐(1)
摘要:
以通过 dubbo:reference 中设置 mock="return null"。mock 的值也可以修改 为 true,然后再跟接口同一个路径下实现一个 Mock 类,命名规则是 “接口名 称+Mock” 后缀。然后在 Mock 类里实现自己的降级逻辑
阅读全文
posted @ 2020-07-17 14:24
咔啡
阅读(175)
推荐(0)
摘要:
Spring 的 WEB 模块是构建在 application context 模块基础之上,提供一个适 合 web 应用的上下文。这个模块也包括支持多种面向 web 的任务,如透明地处理 多个文件上传请求和程序级请求参数的绑定到你的业务对象。它也有对 Jakarta Struts 的支持。
阅读全文
posted @ 2020-07-17 14:23
咔啡
阅读(481)
推荐(0)
摘要:
Elasticsearch 提供的首个近似聚合是 cardinality 度量。它提供一个字段的基数, 即该字段的 distinct 或者 unique 值的数目。它是基于 HLL 算法的。HLL 会先对 我们的输入作哈希运算,然后根据哈希运算的结果中的 bits 做概率估算从而得到 基数。其特点是
阅读全文
posted @ 2020-07-17 13:24
咔啡
阅读(2901)
推荐(0)
摘要:
Spring 支持两种类型的事务管理: 1、 程序化事务管理:在此过程中,在编程的帮助下管理事务。它为您提供极大 的灵活性,但维护起来非常困难。 2、 声明式事务管理:在此,事务管理与业务代码分离。仅使用注解或基于 XML 的配置来管理事务。
阅读全文
posted @ 2020-07-17 09:12
咔啡
阅读(1348)
推荐(0)
摘要:
Memcache 客户端仅根据哈希算法来决定将某个 key 存储在哪个节点上,而不考 虑节点的内存大小。因此,您可以在不同的节点上使用大小不等的缓存。但是一 般都是这样做的:拥有较多内存的节点上可以运行多个 memcached 实例,每个 实例使用的内存跟其他节点上的实例相同。
阅读全文
posted @ 2020-07-17 08:32
咔啡
阅读(148)
推荐(0)