Perkins4j2的技术博客

一个人,一根烧火棍,面对整个世界.


  • 首页

  • 标签91

  • 分类8

  • 归档123

  • 搜索

Java8新变化

发表于 2019-10-24 | 分类于 工具利器
本文字数: 3.4k | 阅读时长 ≈ 3 分钟

Java8优势

自1998年JDK1.0(Java1.0)发布以来,从Java1.1(1997年)-Java7(2011年),Java不断升级,Java8则是在2014年3月发布。

流处理

Java 8在java.util.stream中添加了一个Stream API;Stream可以看成一种迭代器。

Stream API的可以链接形成一个复杂的流水线,就像Unix命令。

可以在一个更高的抽象层次上写Java8程序,把这样的流变成那样的流(就像写数据库查询语句时的那种思路),而不是一次只处理一个项目。

Java8可以透明地把输入的不相关部分拿到几个CPU内核上去分别执行。Stream操作流水线——这是几乎免费的并行,用不着去费劲搞Thread。

阅读全文 »

Hazelcast队列和发布订阅实现

发表于 2019-10-16 | 分类于 架构
本文字数: 3k | 阅读时长 ≈ 3 分钟

队列和订阅区别

  • 队列是queue,订阅是topic
  • 队列是只能被消费一次,订阅是被消费多次
  • 队列消费是主动轮询take,订阅是消息被动通知

队列实现

  • 采用FIFO先进先出顺序消费
  • 元素没有批量处理,只能迭代逐个take
  • 元素被复制到本地处理
  • 可能使用ItemListener监听队列新增和删除操作
    阅读全文 »

Gradle安装和IDEA配置

发表于 2019-10-12 | 分类于 架构
本文字数: 1.5k | 阅读时长 ≈ 1 分钟

下载

  • 下载地址

    gradle

  • 选择二进制包,包括文档和源码

  • 下载V5.6.2,后解压

    阅读全文 »

NPM包管理工具

发表于 2019-10-12 | 分类于 架构
本文字数: 1.3k | 阅读时长 ≈ 1 分钟

介绍

npm 是JavaScript 世界的包管理工具,并且是Node.js 平台的默认包管理工具。通过npm 可以安装、共享、分发代码,管理项目依赖关系。

npm 由三个独立的部分组成:

  • 网站;网站 是开发者查找包(package)、设置参数以及管理 npm 使用体验的主要途径。
  • 注册表(registry);注册表 是一个巨大的数据库,保存了每个包(package)的信息。
  • 命令行工具 (CLI);CLI 通过命令行或终端运行。开发者通过 CLI 与 npm 打交道。
    阅读全文 »

SpringBoot+JPA实体自动生成数据库

发表于 2019-10-12 | 分类于 架构
本文字数: 2.2k | 阅读时长 ≈ 2 分钟

POM

1
2
3
4
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
  • 引入SpringBoot
  • 引入Jpa
    阅读全文 »

Maven自定义Parent并集成SpringBoot

发表于 2019-10-12 | 分类于 工具利器
本文字数: 1.3k | 阅读时长 ≈ 1 分钟

自定义Parent

1
2
3
4
5
6
<modelVersion>4.0.0</modelVersion>

<groupId>com.xx.xx</groupId>
<artifactId>xx-parent</artifactId>
<version>1.0.1</version>
<packaging>pom</packaging>
阅读全文 »

SaaS多租户数据库方案

发表于 2019-10-10 | 分类于 架构
本文字数: 923 | 阅读时长 ≈ 1 分钟

方案选择

独立数据库

一个租户一个数据库,这种方案的用户数据隔离级别最高,安全性最好,但成本较高。

优点:为不同的租户提供独立的数据库,有助于简化数据模型的扩展设计,满足不同租户的独特需求;如果出现故障,恢复数据比较简单。

缺点:增多了数据库的安装数量,随之带来维护成本和购置成本的增加。

这种方案与传统的一个客户、一套数据、一套部署类似,差别只在于软件统一部署在运营商那里。

如果面对的是银行、医院等需要非常高数据隔离级别的租户,可以选择这种模式,提高租用的定价。如果定价较低,产品走低价路线,这种方案一般对运营商来说是无法承受的。

阅读全文 »

SpringBoot+Mybatis+Mycat多租户数据库实现

发表于 2019-10-10 | 更新于 2019-10-12 | 分类于 架构
本文字数: 5.4k | 阅读时长 ≈ 5 分钟

Mycat

下载

1
wget http://dl.mycat.io/1.6.7.3/20190927161129/Mycat-server-1.6.7.3-release-20190927161129-linux.tar.gz

配置

server.xml,Mycat服务器配置,默认端口8066

阅读全文 »

Hazelcast分区原理

发表于 2019-10-08 | 分类于 架构
本文字数: 1.5k | 阅读时长 ≈ 1 分钟

Hazelcast分片

Hazelcast分片被称为分区。

Hazelcast默认有271个分区。给定key,Hazelcast进行序列化、hash并根据分区数量取模,获取key对应的分区。

集群内成员的分区是对等的。Hazelcast将分区数据在成员间的区分内进行分布备份和冗余。

阅读全文 »

Hazelcast超时配置

发表于 2019-10-08 | 更新于 2019-11-11 | 分类于 架构
本文字数: 1.5k | 阅读时长 ≈ 1 分钟

超时错误

1
processor error:com.hazelcast.client.HazelcastClientNotActiveException: Client is shutting down
  • 若Hazelcast中成员全部断开,Client则抛出以上异常,此时,连接池连接已无效
  • Hazelcast成员重启后,Client继续抛出以上异常,无法重新初始化连接池
  • 为重新初始化连接,则需要修改重试策略,以便重启成员,且无需重启Client
    阅读全文 »
1…567…13
Perkins

Perkins

123 日志
8 分类
91 标签
RSS
0%
© 2020 Perkins | 站点总字数: 335k | 站点阅读时长 ≈ 5:04
|