forever杨的个人博客

I want to be forever young!


  • 首页

  • 文章202

  • 分类31

  • 标签175

  • 公益

  • 关于

  • 搜索

Dubbo 配置相关说明

发表于 2019-03-17 | 更新于 2019-03-19 | 分类于 Java
| 字数: 1.7k | 时长 ≈ 2 分钟
标签 Apache alibaba Dubbo

线程池类型

dubbo 提供了4中线程池类型

  • fixed

    固定大小线程池,启动时建立线程,不关闭,一直持有(缺省)

    • core-size

      默认值:200,可配置

    • max-size

      默认值:200,可配置

    • queue-size

      默认值:0,可配置

      • 等于 0 时:SynchronousQueue
      • 不等于 0 时:LinkedBlockingQueue
    • keep-alive

      默认值:0

阅读全文 »

分布式Id生成器

发表于 2019-03-15 | 分类于 Java
| 字数: 4.8k | 时长 ≈ 4 分钟
标签 Snowflake Twitter

Id生成的几种方式

  • 数据库自增
    • 优势
      • 简单,无需额外操作
      • 保持定长自增
      • 保持单表唯一性
    • 劣势
      • 主键生成依赖数据库,高并发下会造成数据库服务器压力较大
      • 水平扩展困难,在分布式数据库环境下,无法保证唯一性
阅读全文 »

Oracle SYSDATE

发表于 2019-03-10 | 更新于 2021-04-03 | 分类于 Oracle
| 字数: 815 | 时长 ≈ 1 分钟
标签 SYSDATE

sysdate

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
SELECT '当前时间' AS 描述,
TO_CHAR(SYSDATE, 'yyyy-mm-dd hh24:mi:ss') AS 时间
FROM DUAL
UNION ALL
SELECT '1天前' AS 描述,
TO_CHAR(SYSDATE - 1, 'yyyy-mm-dd hh24:mi:ss') AS 时间
FROM DUAL
UNION ALL
SELECT '1小时前' AS 描述,
TO_CHAR(SYSDATE - 1 / 24, 'yyyy-mm-dd hh24:mi:ss') AS 时间
FROM DUAL
UNION ALL
SELECT '1分钟前' AS 描述,
TO_CHAR(SYSDATE - 1 / (24 * 60), 'yyyy-mm-dd hh24:mi:ss') AS 时间
FROM DUAL
UNION ALL
SELECT '1秒钟前' AS 描述,
TO_CHAR(SYSDATE - 1 / (24 * 60 * 60), 'yyyy-mm-dd hh24:mi:ss') AS 时间
FROM DUAL
-- 2019-11-29号执行以下 sql
-- SELECT TRUNC(SYSDATE - 1) + 1, TRUNC(SYSDATE + 1) FROM dual
-- 2019/11/29 2019/11/30
阅读全文 »

logstash 使用

发表于 2019-03-02 | 更新于 2019-03-14 | 分类于 elk
| 字数: 9.1k | 时长 ≈ 8 分钟
标签 logback logstash

启动logstash

1
$ bin/logstash -f /opt/logstash/conf.d/ -r true
阅读全文 »

grok patterns

发表于 2019-02-23 | 更新于 2019-03-07 | 分类于 elk
| 字数: 7.5k | 时长 ≈ 7 分钟
标签 grok

官方Grok Pattern源码

Custom Grok Pattern

自定义的正则格式

1
(?<field_name>the pattern here)

General Grok Patterns

USER

1
%{USERNAME}
阅读全文 »

Dubbo 2.7.x使用

发表于 2019-02-21 | 更新于 2019-02-22 | 分类于 Java
| 字数: 9.2k | 时长 ≈ 8 分钟
标签 Apache spring-boot alibaba Dubbo

环境

代码地址dubbo-v2.7.x

dubbo 2.7.0
duboo-spring-boot-starter 2.7.0

启动 provider

访问以下地址来判断provider端使用多协议是否正常

[http://localhost:9090/top.ylonline.dubbo27x.api.RestService/single/echo?message=rest-protocol]
(http://localhost:9090/top.ylonline.dubbo27x.api.RestService/single/echo?message=rest-protocol)

[http://localhost:9090/top.ylonline.dubbo27x.api.MultipleService/multiple/echo?message=dubbo-or-rest-protocol]
(http://localhost:9090/top.ylonline.dubbo27x.api.MultipleService/multiple/echo?message=dubbo-or-rest-protocol)

使用接口的全限类名作为contextpath是dubbo-2.7.0的bug,请看issue,此PR修复了这个问题

阅读全文 »

Dubbo 2.6.x使用

发表于 2019-01-25 | 更新于 2019-02-22 | 分类于 Java
| 字数: 4.3k | 时长 ≈ 4 分钟
标签 Apache spring-boot alibaba Dubbo

环境

代码地址dubbo-v2.6.x

  • dubbo 2.6.5
  • dubbo-spring-boot-starter 0.2.0

由于 dubbo-2.6.5 及以下版本的 Reference 还不支持 protocol 属性(dubbo-2.7.0支持了),注解暂时无法指定协议,但是可以使用xml配置指定协议

启动 provider 端

访问以下地址来判断provider端使用多协议是否正常

http://localhost:9090/demo/echo?message=rest协议

阅读全文 »

读取 js 链接后面的参数

发表于 2019-01-24 | 更新于 2019-02-21 | 分类于 Javascript
| 字数: 1.7k | 时长 ≈ 2 分钟
标签 Javascript

读取 js 链接后面参数的逻辑

js/log.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// 当前 script src 中的 js url
var jsUrl = document.scripts[document.scripts.length - 1].src;
console.log("url: %o", jsUrl);

var paramArr = jsUrl.split('\?');
console.log('paramArr: %o', paramArr);
if (paramArr.length === 1) {
return;
}
// 所有参数放到这个变量中
var map = {};

var keyValueStrArr = paramArr[1].split('\&');
console.log('keyValueStrArr: %o', keyValueStrArr);
for (var i = 0; i < keyValueStrArr.length; i++) {
var keyValueArr = keyValueStrArr[i].split('\=');
console.log('keyValueArr: %o', keyValueArr);
map[keyValueArr[0]] = keyValueArr[1];
}
console.log('map: %o', map);
阅读全文 »

Jpipe - A Java implementation of Facebook's bigPipe technology.

发表于 2019-01-11 | 更新于 2021-04-09 | 分类于 Java
| 字数: 15k | 时长 ≈ 13 分钟
标签 BigPipe Facebook

Jpipe

A Java implementation of Facebook’s bigPipe technology.

Jpipe 是通过自定义标签实现的,所以对后端代码零侵入。

HTML 是完成前台页面的功能,而自定义标签可以在后台完成某些操作。

特性

  • jsp 标签支持
  • freemarker 指令支持
  • freemarker 中使用 jsp 标签
阅读全文 »

BigPipe 分块输出遇到的问题

发表于 2019-01-11 | 更新于 2020-04-24 | 分类于 Java
| 字数: 1.6k | 时长 ≈ 1 分钟
标签 BigPipe Facebook Nginx

buffer 问题

由于“各路”buffer的存在,如果包比较小的话BigPipe的chunked输出很可能会被buffer住。

解决方案

  1. 填充空格:将一次flush的数据填充到 buffer_size。
  2. 调小buffer,让数据更容易达到 buffer_size。
  3. 关闭buffer。
阅读全文 »

Nacos 实现 gateway 路由动态更新

发表于 2018-12-25 | 更新于 2021-04-09 | 分类于 Java
| 字数: 8.8k | 时长 ≈ 8 分钟
标签 spring-boot Nacos spring-cloud-gateway

通过Nacos配置spring-cloud-gateway的路由规则,实现路由规则的动态更新,代码在托管gateway-nacos

阅读全文 »

Nacos 初探

发表于 2018-12-16 | 更新于 2020-07-13 | 分类于 Java
| 字数: 2.9k | 时长 ≈ 3 分钟
标签 spring-boot alibaba Nacos

Nacos 是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

以下内容都是基于spring-boot + nacos

依赖管理

项目:nacos-spring-boot-example

1
2
3
4
5
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-config-spring-boot-starter</artifactId>
<version>0.2.1</version>
</dependency>
阅读全文 »

Hibernate 配置字段加解密

发表于 2018-12-06 | 更新于 2022-07-25 | 分类于 Java
| 字数: 5.8k | 时长 ≈ 5 分钟
标签 Oracle spring-boot Hibernate DataJpaTest jpa

使用 Hibernate 配置数据库字段的加密、解密函数。

可以使用@ColumnTransformer注解的read、write属性,或者使用 xml 配置的column标签的read、write属性

本例子基于 spring-boot-starter-data-jpa、druid-spring-boot-starter、spring-boot-starter-test

阅读全文 »

Oracle Package 包说明和包体

发表于 2018-12-04 | 更新于 2018-12-17 | 分类于 Oracle
| 字数: 4.7k | 时长 ≈ 4 分钟
标签 Package

在包中定义的函数,包体中实现的时候,函数名、参数名、类型都要一致,否则报错

定义包说明

1
2
3
4
5
6
7
8
9
10
11
CREATE OR REPLACE PACKAGE WX_CRYPTO IS
-- 定义 DES encrypt 函数
FUNCTION DES_ENCRYPT(INPUT_STRING IN VARCHAR2) RETURN VARCHAR2;
FUNCTION DES_ENCRYPT(INPUT_STRING IN VARCHAR2, KEY_STRING IN VARCHAR2)
RETURN VARCHAR2;

-- 定义 DES decrypt 函数
FUNCTION DES_DECRYPT(INPUT_STRING IN VARCHAR2) RETURN VARCHAR2 DETERMINISTIC;
FUNCTION DES_DECRYPT(INPUT_STRING IN VARCHAR2, KEY_STRING IN VARCHAR2)
RETURN VARCHAR2 DETERMINISTIC;
END WX_CRYPTO;

在创建基于自定义函数时, 指定 deterministic 参数,在创建函数索引,就没有问题了

阅读全文 »

spring-session + redis 保存会话 session

发表于 2018-12-04 | 更新于 2022-06-22 | 分类于 Java
| 字数: 8.9k | 时长 ≈ 8 分钟
标签 redis spring-boot spring-session

基于spring-boot + spring-session + redis 实现 session 共享

依赖

1
2
3
4
5
6
7
8
9
10
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
<version>${spring-boot-starter-data-redis.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
<version>${spring-session-data-redis.version}</version>
</dependency>
阅读全文 »
1…678…14
forever杨

forever杨

开心又过一日,唔开心又过一日

202 文章
31 分类
175 标签
GitHub
友情链接
  • Tidy的个人博客
© 2024 forever杨 | 站点总字数: 706k