运维随笔

SRE & Devops & Architect


  • 首页

  • 分类

  • 标签

  • 归档

  • 关于

  • 工具

  • 搜索

Nginx之正反代理详解

发表于 2019-12-19 | 更新于 2020-08-04 | 分类于 Web服务 > Nginx
本文字数: 12k | 阅读时长 ≈ 11 分钟

背景

在日常运维工作中,常常会用到反向代理,为了更安全同时为了负载均衡,分担压力。

那么,有小伙伴就会有疑问:

  • 什么是反向代理?
  • 负载均衡又是怎么实现的?
  • 有反向代理那有正向代理吗?
  • 正向代理的应用场景是怎样的?
  • 反向代理和正向代理怎么配置实现呢?

带着这些疑问,就给大家详细解释下nginx的正反向代理。

阅读全文 »

zookeeper集群脑裂探讨

发表于 2019-12-19 | 更新于 2020-07-09 | 分类于 服务CAP > Zookeeper
本文字数: 6.6k | 阅读时长 ≈ 6 分钟

什么是脑裂

脑裂(split-brain)就是“大脑分裂”,也就是本来一个“大脑”被拆分了两个或多个“大脑”,我们都知道,如果一个人有多个大脑,并且相互独立的话,那么会导致人体“手舞足蹈”,“不听使唤”。

脑裂通常会出现在集群环境中,比如ElasticSearch、Zookeeper集群,而这些集群环境有一个统一的特点,就是它们有一个大脑,比如ElasticSearch集群中有Master节点,Zookeeper集群中有Leader节点。

本篇文章着重来给大家讲一下Zookeeper中的脑裂问题,以及是如果解决脑裂问题的。

阅读全文 »

Tomcat最强优化

发表于 2019-12-19 | 更新于 2020-08-04 | 分类于 应用服务 > Tomcat
本文字数: 30k | 阅读时长 ≈ 28 分钟

目的

本文不在于给出最佳配置,而是带领开发者,能够从实际情况出发,通过不断的调节tomcat和jvm参数,去发现吞吐量,平均响应时间和错误率等信息的变化,同时根据服务器的cpu和内存等信息,结合接口的业务逻辑,最好是测试使用率最高,并发最大,或者是最重要的接口(比如下单支付接口),设置最优的tomcat和jvm配置参数。通过Tomcat性能优化可以提高网站的并发能力。Tomcat服务器在JavaEE项目中使用率非常高,所以在生产环境对Tomcat的优化也变得非常重要了。

阅读全文 »

Tomcat高并发和安全配置

发表于 2019-12-19 | 更新于 2020-07-08 | 分类于 应用服务 > Tomcat
本文字数: 21k | 阅读时长 ≈ 19 分钟

目的

现在Tomcat容器在企业中的应用还占据很高比例,如何对Tomcat优化配置,让其实现高并发的同时,安全也能兼顾呢。本篇就详细介绍Tomcat高并发和安全配置。

阅读全文 »

Tomcat优化之APR模式

发表于 2019-12-18 | 更新于 2020-08-04 | 分类于 应用服务 > Tomcat
本文字数: 8.9k | 阅读时长 ≈ 8 分钟

APR模式介绍

Tomcat可以使用APR来提供超强的可伸缩性和性能,更好地集成本地服务器技术。APR(Apache Portable Runtime)是一个高可移植库,它是Apache HTTP Server2.x的核心。

APR有很多用途,包括访问高级IO功能(例如sendfile,epoll和OpenSSL),OS级别功能(随机数生成,系统状态等等),本地进程管理(共享内存,NT管道和UNIXsockets)。这些功能可以使Tomcat作为一个通常的前台WEB服务器,能更好地和其它本地web技术集成,总体上让Java更有效率作为一个高性能web服务器平台而不是简单作为后台容器。

在产品环境中,特别是直接使用Tomcat做WEB服务器的时候,应该使用Tomcat Native来提高其性能。就是如何 在Tomcat中使用JNI的方式来读取文件以及进行网络传输。这个东西可以大大提升Tomcat对静态文件的处理性能,同时如果你使用了HTTPS方式 传输的话,也可以提升SSL的处理性能。

阅读全文 »

shell中的多进程并发

发表于 2019-12-10 | 更新于 2020-08-04 | 分类于 编程积累 > Shell
本文字数: 8.9k | 阅读时长 ≈ 8 分钟

背景

日常工作中编写shell脚本处理事务,很多时候需要一次性处理很多,需要用到循环,但是循环体内还是线性的,还是要一个个处理,这样并不会节省很多时间,只是节省了人工一次次输入的繁琐。但是对于提高处理能力,没有实质性的提高。这就需要考虑并发。但Shell中并没有真正意义的多线程,要实现多线程可以启动多个后端进程,最大程度利用cpu性能。即:多进程并发,本篇教程由浅入深详细介绍了shell中的多进程并发。

阅读全文 »

Python多进程和多线程效率最优选

发表于 2019-11-29 | 更新于 2020-08-04 | 分类于 编程积累 > Python
本文字数: 27k | 阅读时长 ≈ 24 分钟

目的

通过实例实验,比较用多线程和多进程耗时情况,并进行总结归纳,选择效率最高的方法。

阅读全文 »

Multiprocessing基础

发表于 2019-11-29 | 更新于 2020-08-04 | 分类于 编程积累 > Python
本文字数: 6k | 阅读时长 ≈ 5 分钟

multiprocessing是Python的标准模块,它既可以用来编写多进程,也可以用来编写多线程。如果是多线程的话,用multiprocessing.dummy即可,用法与multiprocessing基本相同,这里主要介绍多进程的用法,欢迎纠错。

Multiprocessing介绍

为什么要使用python多进程?

因为python使用全局解释器锁(GIL),他会将进程中的线程序列化,也就是多核cpu实际上并不能达到并行提高速度的目的,而使用多进程则是不受限的,所以实际应用中都是推荐多进程的。
如果每个子进程执行需要消耗的时间非常短(执行+1操作等),这不必使用多进程,因为进程的启动关闭也会耗费资源。
当然使用多进程往往是用来处理CPU密集型(科学计算)的需求,如果是IO密集型(文件读取,爬虫等)则可以使用多线程去处理。

阅读全文 »

Python之多进程详解

发表于 2019-11-29 | 更新于 2020-08-04 | 分类于 编程积累 > Python
本文字数: 45k | 阅读时长 ≈ 41 分钟

目的

Python中的multiprocess提供了Process类,实现进程相关的功能。但是它基于fork机制,因此不被windows平台支持。想要在windows中运行,必须使用 if name == ‘main: 的方式)。并且多进程就是开启多个进程,每个进程之间是不会互相通信互相干扰的,适用于密集计算。

阅读全文 »

Python之多线程详解

发表于 2019-11-29 | 更新于 2020-08-04 | 分类于 编程积累 > Python
本文字数: 64k | 阅读时长 ≈ 58 分钟

目的

线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务,多线程就是在一个进程中的多个线程,如果使用多线程默认开启一个主线程,按照程序需求自动开启多个线程(也可以自己定义线程数)。

阅读全文 »
1…91011…22
豌豆多多

豌豆多多

资深运维架构师豌豆多多的呕心笔记

217 日志
44 分类
71 标签
RSS
GitHub E-Mail Gitee 微博
友情链接
  • 菜鸟教程
  • 自强学堂
  • 运维生存时间
  • 朱双印博客
  • 靳闯博客
  • 运维饼铛
0%
  • Ai3
  • Ansible2
  • Aplayer1
  • Apollo2
  • CAP2
  • Cat1
  • Centos1
  • Cloud2
  • Cmdb3
  • Confd2
  • Confluence2
  • Consul1
  • Dns2
  • Docker18
  • Elk4
  • Eureka1
  • Experiences2
  • Flask1
  • Git6
  • GlusterFS6
  • Go2
  • Haproxy3
  • Hexo6
  • Http2
  • Iptables3
  • Java8
  • Jenkins5
  • Jumperserver2
  • K8s13
  • Kafka1
  • Kali2
  • Keepalived3
  • Linux25
  • Lvs5
  • Mail1
  • Mesos1
  • MongoDB3
  • Mysql5
  • Nacos1
  • Network5
  • Nexus1
  • Nfs1
  • Nginx14
  • Open-falcon2
  • Openldap9
  • Opensips1
  • Openssl1
  • Openvpn1
  • PostgreSQL1
  • Prometheus2
  • Python9
  • Redis9
  • Redmine1
  • RocketChat1
  • Samba1
  • Saturn1
  • Selenium1
  • Sentry3
  • Shell3
  • Sql1
  • Stackstorm2
  • Supervisor2
  • Tcpdump1
  • Tomcat4
  • Uwsgi2
  • Web2
  • Wiki2
  • Windows1
  • Xxl-job1
  • Zabbix10
  • Zookeeper2
© 2020 – 2023 豌豆多多 | 站点总字数: 490k | 站点阅读时长 ≈ 7:25
博客全站共508.5k字
访问人数: | 总阅读量: