InfraPub 为您找到相关结果 165

架构师详解 Nginx 架构

引言:众所周知,Nginx 服务器是一个高性能的 Web 和反向代理服务器。Nginx 在激烈的 Web 服务器竞争中依旧保持良好的发展势头,一度成为 Web 服务器市场的后期之秀,这一切跟 Nginx 的架构设计是分不开的。 一. Nginx 模块化设计 高度模块化的设计是 Nginx 的架构基础。Nginx 服务器被分解为多个模块,每个模块就是一个功能模块,只负责自身的功能,模块之间严格遵循“高内聚,低耦合”的原则。 核心模块 核心模块是 Nginx 服务器正常运行必不可少的模块,提供错误日志记录、配置文件解析、事件驱动机制、进程管理等核心功能。 标准 HTTP 模块 标准 HTTP 模块提供 HTTP 协议解析相关的功能,如:端口配置、网编码设置、HTTP 响应头设置等。 可选...阅读全文

博文 2018-05-01 23:10:47 debian.cn

分布式任务调度平台 XXL

版本,如:CodeMirror、Echarts、Jquery 等; 13、项目依赖升级 groovy 至较新稳定版本; pom 清理; 14、子任务失败重试重试逻辑优化,子任务失败时将会按照其预设的失败重试次数主动进行重试 XXL-JOB 特性 1、简单:支持通过 Web 面对任务进行 CRUD 操作,操作简单,一分钟上手; 2、动态:支持动态修改任务状态、启动 /停止任务,以及终止运行中任务,即时生效; 3、调度中心 HA(中心式):调度采用中心式设计,“ 调度中心” 基于集群 Quartz 实现并支持集群部署,可保证调度中心 HA ; 4、执行器 HA(分布式):任务分布式执行,任务” 执行器” 支持集群部署,可保证任务执行 HA ; 5、注册中心: 执行器会周...阅读全文

博文 2018-11-05 21:47:15 JOB 2.0.0 发布

五款流行开源的 HIDS 系统简单介绍

文件大小限制。4. SamhainSamhain是具有中央管理功能的开源HIDS,可帮助您检查文件完整性,监视日志文件并检测隐藏的进程。这种多平台解决方案可在POSIX系统(Unix,Linux,Cygwin / Windows )上运行。Samhain的安装非常简单,您只需要从官方网下载tar.gz文件并将其安装在系统上即可。在此之前,您需要确保MySQL和Apache在您的服务器上运行。Samhain项目带有大量详细的文档。该HIDS还通过TCP / IP通信提供集中和加密的监视功能。它与其他先前讨论过的开源HIDS的不同之处在于其隐身功能- 使其免受入侵者的侵害- 这要归功于其开发人员编写的偏执代码。而Samhain 社区 很好,比其他HIDS难安装。Windows的客户端要求安装...阅读全文

博文 2023-01-26 11:07:43 joseph

HTTP状态码详解

HTTP状态码(HTTP Status Code)是用以表示网服务器HTTP响应状态的3位数字代码。它由 RFC 2616 规范定义的,并得到RFC 2518、RFC 2817、RFC 2295、RFC 2774、RFC 4918等规范扩展。所有状态码的第一个数字代表了响应的五种状态之一。 各状态码具体含义 1xx 消息 这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束。由于 HTTP/1.0 协议中没有定义任何 1xx 状态码,所以除非在某些试验条件下,服务器禁止向此类客户端发送 1xx 响应。 100 客户端应当继续发送请求。这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。客户端应当继续发送...阅读全文

博文 2021-01-28 17:50:11 debian.cn

CCPA vs. GDPR:欧美这两部个人数据保护法有什么差异?

。 5.2 CCPA:数据的处理以“通知数据主体”为原则,数据主体的主动授权和同意时常并非必须,数据主体仅有“选择退出权”(Opt-Out),偏重于促进数据的流动和高效商用: 与GDPR不同,CCPA并未将用户的“同意”作为数据处理最重要的合法基础,而是仅仅规定了企业在出售个人信息之前有义务“通知”数据主体,同时,在一定条件下,用户有权自愿选择退出数据处理进程: (1)“自愿退出权”:CCPA第1798.120条,向第三方出售个人信息的企业应当通知消费者该信息可能会被出售,并且消费者有权从个人信息被出售的情境中自愿退出。 (2)“自愿退出链接”:CCPA第1798.135条,在企业的互联网主上提供标题为“不要向互联网网出售我的个人信息”的明确而明显的链接,该网促使消费者或消费者授权的人能够自觉...阅读全文

互联网协议正在发生变化

TLS 1.3 的相关章节。 最终,HTTP/2 允许多个主机的请求被 合并到一个连接上,通过减少面加载所使用的连接(从而减少拥塞控制的场景)数量来提升性能。 例如,你可以对 www.example.com 建立一个连接,也可以将这个连接用于对 images.example.com 的请求。而未来的协议扩展也允许将其它的主机添加到连接上,即便它们没有被列在最初用于它们的 TLS 证书中。因此,假设连接上的通讯被限制于它初始化时的目的并不适用。 值得注意的是,尽管存在这些变化,HTTP/2 并没有出现明显的互操作性问题或者来自网络的冲突。 TLS 1.3 TLS 1.3 刚刚通过了标准化的最后流程,并且已经被一些实现所支持。 不要被它只增加了版本号的名字所欺骗;它实际上是一个新的 TLS 版本...阅读全文

使用 MongoDB 之前应该知道的 14 件事

。而且,它在 BSON 中是“deprecated”,会转换成$null,这并不是一个总令人满意的解决方案。 在 MongoDB 中,要避免使用“undefined”。 使用$limit() 而未用$sort() 通常,当你在 MongoDB 中开发时,仅仅查看查询或聚合返回的结果的样例会很有用。 $limit() 就是为了满足这个要求,但是,它永远不应该出现在最终版本的代码中,除非你首先使用了$sort。这是因为,不这样的话,你就无法保证结果的顺序,你就无法可靠地“按浏览”数据。为了确保可靠性,查询或聚合必须是“确定的”,就是说,它们每次执行都会给出相同的结果。包含$limit 而不包含$sort 的代码不是确定的,后续会导致难以跟踪的 Bug。 小结 对于 MongoDB,让你最终感到失...阅读全文

Gitlab CI 配置文件 .gitlab

上传的artifacts。默认情况下,artifacts都是在GitLab中永久保存。expire_in允许设置设置artifacts的存储时间,从它们被上传存储到GitLab开始计算。 可以通过job面的Keep来修改有效期。 过期后,artifacts会被通过一个默认每小时执行一次的定时job删除,所以在过期后无法访问artifacts。 expire_in是一个时间区间。下面可设置的值: '3 mins 4 sec' '2 hrs 20 min' '2h20min' '6 mos 1 day' '47 yrs 6 mos and 4d' '3 weeks and 2 days' 示例配置 设置artifacts的有效期为一个星期: job: artifacts: expire_in...阅读全文

博文 2018-12-12 21:09:02 ci.yaml 详解(下)

分布式运行时 Dapr 知多少

/actors///reminders/ 6. Observability(遥测) Dapr记录指标,日志,链路以调试和监视Dapr和用户应用的运行状况。 Dapr支持分布式跟踪,其使用W3C跟踪上下文标准和开放式遥测技术,可以轻松地诊断在生产环境中服务间的网络调用,并发送到不同的监视工具,如Prometheus。 7. Secrets(安全) Dapr 提供了Secret管理,不过不同于K8S中的Secret,其支持与公有云和本地的Secret存储集成,以供应用检索使用。 What Can We Do With Dapr 了解了Dapr是什么,以及其提供的特性,那Dapr的应用场景就一目了然了。也就是官网首的Slogan:Simplify...阅读全文

Golang 操作 Kafka 样例

有更好的吞吐量,内置的分区,冗余及容错性,这让Kafka成为了一个很好的大规模消息处理应用的解决方案。消息系统 一般吞吐量相对较低,但是需要更小的端到端延时,并尝尝依赖于Kafka提供的强大的持久性保障。在这个领域,Kafka足以媲美传统消息系统,如ActiveMR或RabbitMQ 站点的用户活动追踪: 为了更好地理解用户行为,改善用户体验,将用户查看了哪个面、点击了哪些内容等信息发送到每个数据中心的Kafka集群上,并通过Hadoop进行分析、生成日常报告。 流处理:保存收集流数据,以提供之后对接的Storm或其他流式计算框架进行处理。很多用户会将那些从原始topic来的数据进行 阶段性处理,汇总,扩充或者以其他的方式转换到新的topic下再继续后面的处理。例如一个文章推荐的处理流程...阅读全文

博文 2023-01-10 13:46:09 掘金

Debian 9 使用kubeadm创建 k8s 集群(下)

索运行Nginx的端口。 Kubernetes将自动分配一个大于30000的随机端口,同时确保该端口尚未受到其他服务的约束。 要测试一切是否正常,请通过本地计算机上的浏览器访问http:// worker_1_ip : nginx_port或http://worker_2_ip : nginx_port 。 您将看到Nginx熟悉的欢迎面。 如果要删除Nginx应用程序,请先从主节点删除nginx服务: kubectl delete service nginx 运行以下命令以确保已删除该服务: kubectl get services 您将看到以下输出: OutputNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes...阅读全文

博文 2019-05-13 22:57:41 debian.cn

三个技巧 大幅减少 Docker 镜像体积

gcr.io/distroless/nodejs COPY --from=build /app / EXPOSE 3000 CMD ["index.js"] 你可以使用以上的命令,像往常一样编译镜像。这个镜像应该能正常运行。要验证它,可以像这样运行容器: $ docker run -p 3000:3000 -ti --rm --init node-distroless 现在可以访问 http://localhost:3000 面。不包含其他额外二进制文件的镜像是不是小多了? $ docker images | grep node-distroless node-distroless 7b4db3b7f1e5 76.7MB 只有 76.7MB!比之前的镜像小了 600MB! 但在使用...阅读全文

博文 2018-09-06 10:50:29 debian.cn

最全的 DevOps 工具集合

Subversion 是一个软件版本和修订控制系统,其根据 Apache 许可开源。软件开发人员可使用 Subversion 来维护源代码、网和文档等文件的当前和历史版本。 构建工具 构建阶段主要是为了保持打包的一致性,自动执行容易出错的活动,生成早期质量信号。目前业内比较常用的构建工具包括 Maven/Gradle、MSBuild、Rake、JFrog Artifactory、Sonatype Nexus 和 NuGet。 Maven/Gradle Maven 是主要用于 Java 项目的自动化构建工具。Maven 还可以构建和管理以 C#、Ruby、Scala 等语言编写的项目。 Gradle 是一个开源的自动化构建系统,其基于 Apache Ant 和 Apache Maven 的理念,并引入了基于...阅读全文

博文 2021-05-26 14:35:21 博客园

得物云原生全链路追踪Trace2.0-采集篇 - OSCHINA

RPC 调用节点和调用层次关系。 链路保真,客户端链路数据上报队列并不是个无界限队列,当客户端自身调用频繁时,若上报队列堆积达到阈值即会丢弃,这会造成整个链路的不完整,当然这是预期内的现象,但若没有RpcID字段,链路视图将无法关联丢失的节点,从而导致整个链路层级混乱失真。 自定义 Trace ID 为了实现链路详情高效的检索效率,我们扩展 TraceID 生成逻辑,ID的前8位使用实例IP,中8位使用当前时间戳,后16位采用随机数生成。 32位自定义traceId:c0a8006b62583a724327993efd1865d8 c0a8006b 62583a72 4327993efd1865d8 | | | 高8位(IP) 中8位(Timestmap) 低16位(Random) 这样的好处...阅读全文

博文 2022-12-10 06:50:41 中文开源技术交流社区

Redis 命令、特性介绍与性能调优

second是比较好的折中方案,每秒fsync一次 AOF + fsync never会提供AOF持久化方案下的最优性能 使用RDB持久化通常会提供比使用AOF更高的性能,但需要注意RDB的策略配置 每一次RDB快照和AOF Rewrite都需要Redis主进程进行fork操作。fork操作本身可能会产生较高的耗时,与CPU和Redis占用的内存大小有关。根据具体的情况合理配置RDB快照和AOF Rewrite时机,避免过于频繁的fork带来的延迟 Redis在fork子进程时需要将内存分表拷贝至子进程,以占用了24GB内存的Redis实例为例,共需要拷贝24GB / 4kB * 8 = 48MB的数据。在使用单Xeon 2.27Ghz的物理机上,这一fork操作耗时216ms。 可以通过INFO命...阅读全文

博文 2018-10-27 10:37:55 debian.cn