架构
文章平均质量分 88
Somnus_小凯
永远相信美好的事情,即将发生
展开
-
如何快速实现多指标计算
在统计分析应用中,从明细数据计算出来的各种指标是支撑业务的重要数据。但是,要做到快速而且灵活的多指标计算,后台数据源面临多个难题。多指标计算的一个难题是涉及的明细数据量非常大。政府、金融、能源和工业等各个行业,都在不断产生大量的明细数据。要在几千万甚至上亿的明细数据基础上计算多种指标,还要达到秒级响应的速度,对于传统数据库和大数据技术来说都是一个不小的挑战。另一个难题是需要同时计算的指标数量非常多。原创 2022-12-21 11:37:17 · 2887 阅读 · 9 评论 -
SQL 嵌套 N 层太长太难写怎么办?
我们工作中写SQL处理数据是家常便饭,不管是应用内数据处理还是临时查询分析都可以用SQL完成,相对其他技术(如Java等高级语言)也更简单。不过,SQL的简单只限于简单需求,有些复杂计算场景SQL写起来却很难,嵌套N层以至于达到几百上千行,说SQL代码长度时通常不会以行计而是以KB计。这种情况并不少见,相信经常写SQL的小伙伴并不陌生。为什么会出现这种情况呢?在http://c.raqsoft.com.cn/article/1639032922105 里详细分析了这个问题。原创 2022-11-01 19:30:00 · 3807 阅读 · 46 评论 -
猿创征文|初识TiDB生命周期
TiDB 是 PingCAP 公司基于 GoogleSpanner/F1论文实现的开源分布式 NewSQL 数据库。实现了自动的水平伸缩,强一致性的分布式事务,基于 Raft 算法的多副本复制等重要 NewSQL 特性。TiDB 结合了 RDBMS 和 NoSQL 的优点,部署简单,在线弹性扩容和异步表结构变更不影响业务, 真正的异地多活及自动故障恢复保障数据安全,同时兼容 MySQL 协议,使迁移使用成本降到极低。原创 2022-10-14 18:08:46 · 886 阅读 · 0 评论 -
猿创征文|手把手教你微服务分布式事务与Seata框架源码分析
Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。TM 向 TC 申请开启一个全局事务,全局事务创建成功并生成一个全局唯一的XID。XID在微服务调用链路的上下文中传播。RM 向 TC 注册分支事务,接着执行这个分支事务并提交(重点:RM在第一阶段就已经执行了本地事务的提交/回滚),最后将执行结果汇报给TC。TM 根据 TC 中所有的分支事务的执行情况,发起全局提交或回滚决议。TC 调度XID下全部分支事务完成提交或回滚请求。............原创 2022-08-28 23:15:51 · 467 阅读 · 2 评论 -
手把手教你CSP系列之 img-src
Web 站点或 Web 应用安全是十分重要的,即使是代码中很小的 bug 也可能导致隐私信息被泄露,黑客会尝试偷窃数据。这些文档提供信息帮助您使代码更安全。此处列出的面向 Web 安全的文章提供的信息可以帮助您保护站点及其代码免受攻击和数据窃取。原创 2022-08-22 09:45:04 · 577 阅读 · 0 评论 -
手把手教你CSP系列之font-src
HTTP Content-Security-Policy(CSP)font指令为使用-src@font-的字体指定有效的源。face句法来源可以是以下之一:通过名称或IP地址的 Internet主机,以及可选的URL方案and/or端口号。该站点的地址可能包含一个可选的前导通配符(星号字符’‘),并且可以使用通配符(再次’')作为端口号,表示所有合法端口对于源都有效。...原创 2022-08-18 09:30:00 · 847 阅读 · 3 评论 -
手把手教你Nginx常用模块详解之ngx_http_status_module(十一)
如果省略参数,或者计算的值是空字符串,则使用“ ngx_status_jsonp_callback”。简单的监控页面随此分发提供,/status.html在默认配置中以“ ”形式访问。它要求位置“ /status”和“ /status.html”按上图所示进行配置。该ngx_http_status_module模块提供对各种状态信息的访问。状态信息将可以从周围的位置访问。.........原创 2022-08-15 15:56:10 · 1037 阅读 · 0 评论 -
手把手教你Nginx常用模块详解之ngx_http_rewrite_module(十)
作为特殊情况,可以将重定向URL指定为此服务器本地的URI,在这种情况下,完整重定向URL根据请求方案($scheme)和server_name_in_redirect和port_in_redirect指令形成。如果替换字符串以“ http://”,“ https://”或“ $scheme” 开头,则处理停止并且重定向返回给客户端。完整的重定向URL根据请求方案($scheme)和server_name_in_redirect和port_in_redirect指令形成。$9变量中重用的捕获。.......原创 2022-08-15 15:47:23 · 1335 阅读 · 0 评论 -
手把手教你Nginx常用模块详解之ngx_http_perl_module(九)
r-> log_error(errno,message)将指定的消息写入error_log。为了确保客户端请求主体在内存中,其大小应该由client_max_body_size来限制,并且应该使用client_body_buffer_size来设置足够的缓冲区大小。$ r-> request_body_file返回文件的名称与客户端请求主体。$ r-> sleep(毫秒,处理程序)设置指定的处理程序并停止指定时间的请求处理。$ r-> header_in(field)返回指定的客户端请求头字段的值。....原创 2022-08-15 15:37:56 · 1121 阅读 · 0 评论 -
手把手教你Nginx常用模块详解之ngx_stream_upstream_module(八)
max_fails= number设置在fail_timeout参数设置的持续时间内应该发生的与服务器通信失败的次数,以便在参数设置的持续时间内将服务器视为不可用fail_timeout。如果在与服务器通信期间发生错误,则连接将被传递到下一个服务器,等等,直到所有正在运行的服务器都将被尝试。最高优先级的SRV记录(具有相同的最低优先级值的记录)被解析为主服务器,其余的SRV记录被解析为备份服务器。指定组应该使用负载平衡方法,其中考虑到服务器的权重,将连接传递给平均时间最少且活动连接数最少的服务器。.....原创 2022-08-14 13:50:59 · 1939 阅读 · 0 评论 -
手把手教你Nginx常用模块详解之ngx_stream_ssl_module(七)
ssl_client_cert以建立的SSL连接的PEM格式返回客户端证书,每行除第一行加上制表符(1.11.8);$ssl_client_i_dn根据RFC 2253(1.11.8),为建立的SSL连接返回客户端证书的“颁发者DN”字符串;$ssl_client_raw_cert以建立的SSL连接(1.11.8)的PEM格式返回客户证书;$ssl_client_s_dn根据RFC 2253(1.11.8)返回已建立的SSL连接的客户端证书的“主题DN”字符串;启用客户端证书的验证。............原创 2022-08-14 13:40:08 · 3057 阅读 · 0 评论 -
手把手教你Nginx常用模块详解之ngx_http_upstream_module(六)
如果在与服务器进行通信期间发生错误,则该请求将被传递到下一个服务器,并依此类推,直到所有正在运行的服务器都将被尝试。为了使此参数起作用,有必要指定服务器的解析参数并指定一个不带端口号的主机名。该ngx_http_upstream_module模块用于定义可由proxy_pass,fastcgi_pass,uwsgi_pass,scgi_pass和memcached_pass指令引用的服务器组。最高优先级的SRV记录(具有相同的最低优先级值的记录)被解析为主服务器,其余的SRV记录被解析为备份服务器。..原创 2022-08-14 13:19:59 · 3553 阅读 · 0 评论 -
手把手教你Nginx常用模块详解之ngx_http_limit_conn_module(五)
binary_remote_addr对于IPv4地址,变量的大小始终为4个字节,对于IPv6地址则为16个字节。存储状态在32位平台上始终占用32或64个字节,在64位平台上占用64个字节。一个兆字节的区域可以保持大约32000个32字节的状态或大约16000个64字节的状态。该key可以包含文本,变量,他们的组合。该ngx_http_limit_conn_module模块用于限制每个定义密钥的连接数量,特别是来自单个IP地址的连接数量。在HTTP / 2和SPDY中,每个并发请求都被视为一个单独的连接。.原创 2022-08-14 13:07:43 · 641 阅读 · 0 评论 -
手把手教你Nginx常用模块详解之ngx_http_gzip_module(四)
no-cache如果响应头包含带有“ no-cache”参数的“Cache-Control”字段,则启用压缩;no-store如果响应头包含带有“ no-store”参数的“Cache-Control”字段,则启用压缩;private如果响应头包含带有“ private”参数的“Cache-Control”字段,则启用压缩;$gzip_ratio实现压缩比率,计算为原始压缩响应大小与压缩响应大小之间的比率。禁用具有与任何指定正则表达式匹配的“用户代理”标题字段的请求响应的gzip。.............原创 2022-08-14 12:10:13 · 578 阅读 · 0 评论 -
手把手教你Nginx常用模块详解之ngx_http_api_module(三)
请求参数:( postStreamUpstreamServer流上游服务器,必需)新服务器的地址和JSON格式的其他可选参数。PATCH - 修改流上游服务器组中的服务器,修改流上游服务器组中特定服务器的设置。-GET - 返回所有流上游服务器组的状态返回每个流上游服务器组及其服务器的状态。-GET - 返回nginx运行实例的状态返回nginx版本,构建名称,地址,配置重新加载的数量,主进程和工作进程的ID。GET - 返回HTTP上游服务器组的状态返回特定HTTP上游服务器组及其服务器的状态。..原创 2022-08-13 20:13:30 · 1619 阅读 · 0 评论 -
手把手教你Nginx常用模块详解之ngx_http_addition_module(二)
该ngx_http_addition_module模块是一个过滤器,用于在响应之前和之后添加文本。该模块不是默认编译在nginx中的,在编译的时候添加–with-http_addition_module配置参数启用。在响应主体之前添加作为处理给定子请求的结果而返回的文本。""作为参数的空字符串()会取消从先前配置级别继承的添加。在响应主体之后添加由于处理给定子请求而返回的文本。""作为参数的空字符串()会取消从先前配置级别继承的添加。.....................原创 2022-08-13 18:37:42 · 818 阅读 · 0 评论 -
手把手教你Nginx常用模块详解之ngx_http_access_module(一)
ngx_http_access_module 限制访问 某些访问允许限制原创 2022-08-13 17:43:04 · 2188 阅读 · 0 评论 -
手把手教你CSP系列之referrer,object-src
origin-when-cross-origin”/“origin-when-crossorigin”在执行同源请求时发送完整的URL,但只发送文档的来源用于其他情况。原始地址作为引用来源发送到先验的多安全目的地(HTTPS-> HTTPS),但不发送到安全性较低的目的地(HTTPS-> HTTP)。“strict-dynamic”strict-dynamic源表达式指定显式给予标记中存在的脚本的信任,通过附加一个随机数或散列值,应该传播给由该脚本加载的所有脚本。冒号是必需的,不应使用单引号。...原创 2022-08-13 15:57:40 · 245 阅读 · 0 评论 -
手把手教你CSP系列之object-src
HTTP 指令指定的有效来源,Content-Security-Policy object-src和元素。原创 2022-08-05 14:17:34 · 690 阅读 · 0 评论 -
手把手教你CSP系列之style-src
HTTP Content-Security-Policy(CSP)style-src指令为样式表的源指定有效来源。原创 2022-08-05 12:27:35 · 1374 阅读 · 0 评论 -
手把手教你CentOS下搭建Zabbix Server,Zabbix Proxy,Zabbix Agent企业级监控平台
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。zabbix由2部分构成,zabbix server与可选组件zabbix agent。......原创 2022-08-04 14:40:15 · 987 阅读 · 0 评论 -
手把手教你CSP系列之script-src
HTTP Content-Security-Policy(CSP)script-src指令为JavaScript的源指定有效来源。这不仅包括直接加载到。原创 2022-08-04 14:00:15 · 3197 阅读 · 0 评论 -
Docker常用命令
注意在删除镜像之前要先用dockerrm删掉依赖于这个镜像的所有容器。编写好的Dockerfile文件,按esc,输入wq保存并退出。还有更多得用法,一篇文章可能梳理不是那么全,更多教程期待后面的文章。获取mysql镜像(没有设置镜像版本号则默认获取最新的,使用。重启容器,(会把运行中的容器停止,再重新启动,可以写多个)dockerinspect获取容器/镜像的元数据。伪终端,输入exit退出容器。指定镜像启动并进入容器。指定镜像启动一个容器。...原创 2022-08-01 13:46:33 · 425 阅读 · 0 评论 -
Java常用机制 - SPI机制详解
SPI(ServiceProviderInterface),是JDK内置的一种服务提供发现机制,可以用来启用框架扩展和替换组件,主要是被框架的开发人员使用,比如java.sql.Driver接口,其他不同厂商可以针对同一接口做出不同的实现,MySQL和PostgreSQL都有不同的实现提供给用户,而Java的SPI机制可以为某个接口寻找服务实现。Java中SPI机制主要思想是将装配的控制权移到程序之外,在模块化设计中这个机制尤其重要,其核心思想就是解耦。SPI整体机制图如下}...原创 2022-07-31 18:28:11 · 515 阅读 · 0 评论