Skip to content

Commit

Permalink
add datasource & kamailio
Browse files Browse the repository at this point in the history
  • Loading branch information
CzyerChen committed Jul 2, 2024
1 parent e35fcec commit 818d5cd
Show file tree
Hide file tree
Showing 15 changed files with 2,724 additions and 0 deletions.
466 changes: 466 additions & 0 deletions _posts/2024-04-30-Skywalking之LAL的配置与解析.md

Large diffs are not rendered by default.

Empty file.
17 changes: 17 additions & 0 deletions _posts/2024-05-10-Database-数据库的JDBC连接地址规则.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# 数据库 URL pattern

|DataBase|UrlPattern|URLs|
|--|--|--|
|MySQL|||
|PostgreSQL|||
|Oracle|||
|SQLServer|||
|MsSQL|||
|h2|||
|Derby|  1、`jdbc:derby:[subprotocol:][databaseName][;attribute=value]*` <br/> 2、`jdbc:derby://server[:port]/databaseName[;attribute=value]*`|jdbc:derby:directory:mydb<br/> jdbc:derby:memory:mydb;create=true<br/>jdbc:derby:memory:C:\test\mydb<br/>jdbc:derby:memory:/home/test/mydb<br/>jdbc:derby:classpath:/test/mydb<br/>jdbc:derby:jar:(C:/dbs.jar)test/mydb<br/>jdbc:derby:mydb<br/>jdbc:derby:/test/mydb;create=true;create=true<br/>jdbc:derby:test/mydb;create=true<br/>jdbc:derby:A:/test/mydb;create=true<br/>jdbc:derby:test/mydb;create=true<br/>jdbc:derby://localhost:1527/mydb;create=true;user=root;password=pass<br/>jdbc:derby://localhost:1527/mydb<br/>jdbc:derby://localhost/mydb;create=true<br/>jdbc:derby://localhost:1527/c:\temp\mydb<br/>jdbc:derby://localhost:1527//opt/test/mydb;create=true<br/>jdbc:derby://localhost:1527/memory:mydb;create=true<br/>jdbc:derby://localhost:1527/memory:C:\test\mydbmydb;create=true<br/>jdbc:derby://localhost:1527/memory:/test/mydb;create=true|
|Sqlite|`jdbc:sqlite:[subprotocol:][path/][databaseName][?attribute=value]*`|jdbc:sqlite:C:/work/mydatabase.db<br/>jdbc:sqlite:/home/leo/work/mydatabase.db<br/>jdbc:sqlite::memory:<br/>jdbc:sqlite::resource:org/yourdomain/sample.db<br/>jdbc:sqlite::resource:http://www.xerial.org/svn/project/XerialJ/trunk/sqlite-jdbc/src/test/java/org/sqlite/sample.db<br/>jdbc:sqlite::resource:jar:http://www.xerial.org/svn/project/XerialJ/trunk/sqlite-jdbc/src/test/resources/testdb.jar!/sample.db<br/>jdbc:sqlite:db.sqlite?hexkey_mode=sse<br/>jdbc:sqlite::memory:?jdbc.explicit_readonly=true<br/>jdbc:sqlite:sample.db|
|DB2|1、`jdbc:db2:databasename`<br/> 2、`jdbc:db2://[hostname]:[port]/[database_name]:user=[username];password=[password]`|jdbc:db2://localhost:50000/mydb:user=root;password=pass<br/>jdbc:db2:mydb:user=root;password=pass<br/>jdbc:db2://clusterip:50000/mydb|
|Sybase|`jdbc:sybase:Tds:host:port[/database][?connection_property=value;]`|jdbc:sybase:Tds:localhost:5000/testdb?charset=utf-8<br/>jdbc:sybase:Tds:localhost:5000?USER=sa&PASSWORD=secret|
|OceanBase|`jdbc:oceanbase:[hamode:]//host:port/databasename?[username&password]&[opt1=val1&opt2=val2...`]|jdbc:oceanbase://localhost:2881/mydb?user=root@sys&password=pass&pool=false&useBulkStmts=true&rewriteBatchedStatements=false&useServerPrepStmts=true<br/>jdbc:oceanbase://primaryhost:2888,secondaryhost1,secondaryhost2/mydb?user=root@sys&password=pass&pool=false&useBulkStmts=true&rewriteBatchedStatements=false&useServerPrepStmts=true<br/>jdbc:oceanbase:hamode://clusterip:2881/test?user=root@sys&password=pass&pool=false&useBulkStmts=true&rewriteBatchedStatements=false&useServerPrepStmts=true|
|TiDB|||
|LevelDB|||
143 changes: 143 additions & 0 deletions _posts/2024-05-11-DataSource-数据库连接池Druid.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
# 数据库连接池 Druid

|功能类别|功能|Druid|HikariCP|DBCP|Tomcat-jdbc|C3P0|
|--|--|--|--|--|--|--|
|性能|PSCache||||||
||LRU||||||
||SLB负载均衡支持||||||
|稳定性|ExceptionSorter||||||
|扩展|扩展|Filter|||JdbcIntercepter||
|监控|监控方式|jmx/log/http|jmx/metrics|jmx|jmx|jmx|
||支持SQL级监控||||||
||Spring/Web关联监控||||||
|安全|诊断支持|LogFilter|||||
||连接泄露诊断|logAbandoned||||
||SQL防注入||||||
||支持配置加密||||||

它可以兼容的数据库种类,也是在芸芸众开发者的努力下不断扩充,对国产数据库也有较多支持,这是很多国企的福音:


|数据库|Driver|
|--|



public static DbType getDbTypeRaw(String rawUrl, String driverClassName) {
if (rawUrl == null) {
return null;
}

if (rawUrl.startsWith("jdbc:derby:") || rawUrl.startsWith("jdbc:log4jdbc:derby:")) {
return DbType.derby;
} else if (rawUrl.startsWith("jdbc:mysql:") || rawUrl.startsWith("jdbc:cobar:")
|| rawUrl.startsWith("jdbc:log4jdbc:mysql:")) {
return DbType.mysql;
} else if (rawUrl.startsWith("jdbc:goldendb:")) {
return DbType.mysql;
} else if (rawUrl.startsWith("jdbc:mariadb:")) {
return DbType.mariadb;
} else if (rawUrl.startsWith("jdbc:tidb:")) {
return DbType.tidb;
} else if (rawUrl.startsWith("jdbc:oracle:") || rawUrl.startsWith("jdbc:log4jdbc:oracle:")) {
return DbType.oracle;
} else if (rawUrl.startsWith("jdbc:alibaba:oracle:")) {
return DbType.ali_oracle;
} else if (rawUrl.startsWith("jdbc:oceanbase:oracle:")) {
return DbType.oceanbase_oracle;
} else if (rawUrl.startsWith("jdbc:oceanbase:")) {
return DbType.oceanbase;
} else if (rawUrl.startsWith("jdbc:microsoft:") || rawUrl.startsWith("jdbc:log4jdbc:microsoft:")) {
return DbType.sqlserver;
} else if (rawUrl.startsWith("jdbc:sqlserver:") || rawUrl.startsWith("jdbc:log4jdbc:sqlserver:")) {
return DbType.sqlserver;
} else if (rawUrl.startsWith("jdbc:sybase:Tds:") || rawUrl.startsWith("jdbc:log4jdbc:sybase:")) {
return DbType.sybase;
} else if (rawUrl.startsWith("jdbc:jtds:") || rawUrl.startsWith("jdbc:log4jdbc:jtds:")) {
return DbType.jtds;
} else if (rawUrl.startsWith("jdbc:fake:") || rawUrl.startsWith("jdbc:mock:")) {
return DbType.mock;
} else if (rawUrl.startsWith("jdbc:postgresql:") || rawUrl.startsWith("jdbc:log4jdbc:postgresql:")) {
return DbType.postgresql;
} else if (rawUrl.startsWith("jdbc:edb:")) {
return DbType.edb;
} else if (rawUrl.startsWith("jdbc:hsqldb:") || rawUrl.startsWith("jdbc:log4jdbc:hsqldb:")) {
return DbType.hsql;
} else if (rawUrl.startsWith("jdbc:odps:")) {
return DbType.odps;
} else if (rawUrl.startsWith("jdbc:db2:")) {
return DbType.db2;
} else if (rawUrl.startsWith("jdbc:sqlite:")) {
return DbType.sqlite;
} else if (rawUrl.startsWith("jdbc:ingres:")) {
return DbType.ingres;
} else if (rawUrl.startsWith("jdbc:h2:") || rawUrl.startsWith("jdbc:log4jdbc:h2:")) {
return DbType.h2;
} else if (rawUrl.startsWith("jdbc:mckoi:")) {
return DbType.mock;
} else if (rawUrl.startsWith("jdbc:cloudscape:")) {
return DbType.cloudscape;
} else if (rawUrl.startsWith("jdbc:informix-sqli:") || rawUrl.startsWith("jdbc:log4jdbc:informix-sqli:")) {
return DbType.informix;
} else if (rawUrl.startsWith("jdbc:timesten:")) {
return DbType.timesten;
} else if (rawUrl.startsWith("jdbc:as400:")) {
return DbType.as400;
} else if (rawUrl.startsWith("jdbc:sapdb:")) {
return DbType.sapdb;
} else if (rawUrl.startsWith("jdbc:JSQLConnect:")) {
return DbType.JSQLConnect;
} else if (rawUrl.startsWith("jdbc:JTurbo:")) {
return DbType.JTurbo;
} else if (rawUrl.startsWith("jdbc:firebirdsql:")) {
return DbType.firebirdsql;
} else if (rawUrl.startsWith("jdbc:interbase:")) {
return DbType.interbase;
} else if (rawUrl.startsWith("jdbc:pointbase:")) {
return DbType.pointbase;
} else if (rawUrl.startsWith("jdbc:edbc:")) {
return DbType.edbc;
} else if (rawUrl.startsWith("jdbc:mimer:multi1:")) {
return DbType.mimer;
} else if (rawUrl.startsWith("jdbc:dm:")) {
return JdbcConstants.DM;
} else if (rawUrl.startsWith("jdbc:kingbase:") || rawUrl.startsWith("jdbc:kingbase8:")) {
return JdbcConstants.KINGBASE;
} else if (rawUrl.startsWith("jdbc:gbase:")) {
return JdbcConstants.GBASE;
} else if (rawUrl.startsWith("jdbc:xugu:")) {
return JdbcConstants.XUGU;
} else if (rawUrl.startsWith("jdbc:log4jdbc:")) {
return DbType.log4jdbc;
} else if (rawUrl.startsWith("jdbc:hive:")) {
return DbType.hive;
} else if (rawUrl.startsWith("jdbc:hive2:")) {
return DbType.hive;
} else if (rawUrl.startsWith("jdbc:phoenix:")) {
return DbType.phoenix;
} else if (rawUrl.startsWith("jdbc:kylin:")) {
return DbType.kylin;
} else if (rawUrl.startsWith("jdbc:elastic:")) {
return DbType.elastic_search;
} else if (rawUrl.startsWith("jdbc:clickhouse:")) {
return DbType.clickhouse;
} else if (rawUrl.startsWith("jdbc:presto:")) {
return DbType.presto;
} else if (rawUrl.startsWith("jdbc:trino:")) {
return DbType.trino;
} else if (rawUrl.startsWith("jdbc:inspur:")) {
return DbType.kdb;
} else if (rawUrl.startsWith("jdbc:polardb")) {
return DbType.polardb;
} else if (rawUrl.startsWith("jdbc:highgo:")) {
return DbType.highgo;
} else if (rawUrl.startsWith("jdbc:pivotal:greenplum:") || rawUrl.startsWith("jdbc:datadirect:greenplum:")) {
return DbType.greenplum;
} else if (rawUrl.startsWith("jdbc:opengauss:") || rawUrl.startsWith("jdbc:gaussdb:") || rawUrl.startsWith("jdbc:dws:iam:")) {
return DbType.gaussdb;
} else if (rawUrl.startsWith("jdbc:TAOS:") || rawUrl.startsWith("jdbc:TAOS-RS:")) {
return DbType.taosdata;
} else {
return null;
}
}
Loading

0 comments on commit 818d5cd

Please sign in to comment.