Month: 8月 2023

如何通过集群扩展 Node.js 应用程序

如何通过集群扩展 Node.js 应用程序

作者选择女性工程师协会接受捐赠,作为“为捐赠而写”计划的一部分。

介绍

当您在具有多个 CPU 的系统上运行Node.js程序时,它会创建一个默认情况下仅使用单个 CPU 执行的进程。由于 Node.js 使用单个线程来执行 JavaScript 代码,因此对应用程序的所有请求都必须由在单个 CPU 上运行的线程来处理。如果应用程序有 CPU 密集型任务,操作系统必须安排它们共享单个 CPU,直到完成。如果单个进程收到太多请求,可能会导致其不堪重负,从而降低性能。如果进程崩溃,用户将无法访问您的应用程序。

作为解决方案,Node.js 引入了该cluster模块,该模块在同一台计算机上创建同一应用程序的多个副本并让它们同时运行。它还配备了一个负载平衡器,可以使用循环算法在进程之间均匀分配负载。如果单个实例崩溃,用户可以由仍在运行的剩余进程提供服务。应用程序的性能显着提高,因为负载在多个进程之间均匀共享,从而防止单个实例不堪重负。

cluster在本教程中,您将在具有四个或更多 CPU 的计算机上使用该模块扩展 Node.js 应用程序。您将创建一个不使用集群的应用程序,然后修改该应用程序以使用集群。您还将使用该pm2模块跨多个 CPU 扩展应用程序。您将使用负载测试工具来比较使用集群的应用程序和未使用集群的应用程序的性能,并评估模块pm2

2023 年如何使用 Favicon:满足大多数需求的六个文件

是时候重新思考如何为现代浏览器制作一组图标并停止图标生成器的疯狂了。目前,前端开发人员必须处理 20 多个静态 PNG 文件,才能在浏览器选项卡或触摸屏上显示微小的网站徽标。请继续阅读,了解如何采取更明智的方法并采用适合大多数现代需求的最少图标集。

如何使用 OpenSSL 创建自签名证书

在本指南中,我们提供了有关如何使用 OpenSSL 实用程序创建自签名证书的分步指南。您可以按照本指南使用命令创建自签名证书或使用 shell 脚本自动创建自签名证书。

Openssl 是一个创建自签名证书的便捷实用程序。您可以在所有操作系统上使用 OpenSSL,例如 Windows、MAC 和 Linux 版本。…

    

什么是自签名证书?以及如何创建它

自签名 SSL 证书是一种数字证书,未经公开信任的证书颁发机构 (CA) 签名。自签名证书被认为不同于传统的 CA 签名证书,因为它们是由负责与证书关联的网站或软件的公司或开发人员创建、颁发和签名的,而不是 CA。

在高层次上,这些自签名证书基于与 X.509 证书中使用的相同的加密私钥和公钥对体系结构。但是,这些数字证书没有受信任的第三方 CA 的验证,例如 WoTrus(wosign.com)。发行过程中缺乏独立验证会产生额外的风险,这就是自签名证书的问题。对于面向公众的网站和应用程序,它们被认为是不安全的。…

    

pip安装

在 Windows 上安装 pip 通常有两种方法:

(一)使用 Python 自带的 get-pip.py 脚本进行安装:

首先,下载 get-pip.py 脚本:https://bootstrap.pypa.io/get-pip.py

将下载好的 get-pip.py 脚本保存到本地某个目录下(如 C:\Python\get-pip.py)

打开命令提示符,进入到 get-pip.py 所在目录,执行以下命令:

python get-pip.py

如果安装成功,pip 就已经安装好了。

在iframe中使bootstrap的模态框在父页面弹出问题

这几天在写项目的中,页面使用了iframe,然而在子页面中使用bootstrap的模态框时发现:弹出的模态框位置是以子页面为标准居中的,并且遮罩层也只有子页面那一部分,整个页面简直无法直视,所以思考可以可以让模态框以父页面为标准弹出,经过在网上查找资料,总结了一种解决方法。

效果展示

修改前页面

查看图片

修改后页面

查看图片

实现思路

要想使模态框在顶级页面打开,我想到的方法是使bootstrap的模态框弹在父页面弹出即可。

首先我们将需要弹出的div单独写一个页面,当子页面需要弹出时,在父页面弹出div即可。

将模态框单独写为一个页面

主页面

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title></title>
  </head>
  <body>
    <div class="modal 

app里未读消息已读、未读是怎么设计的?

也不知道大家目前都用的java编程软件有哪些,毕竟在应用程序中,未读和已读消息的设计取决于应用程序的需求和目标。下面是一些常见的设计模式:

app里未读消息已读、未读是怎么设计的?

一、简单的未读/已读标记

简单的未读/已读标记:这是最常见的设计,用户打开应用程序后,未读消息会用一个特殊的标记(通常是未读计数器)标识出来。当用户查看这些消息时,它们会被标记为已读,未读计数器会减少。这种设计对于大多数应用程序来说是最直观的,并且易于使用。它被广泛应用于各种应用程序和用户界面中,以显示用户已读和未读的内容。该模式通常包括以下元素:…

如何在数字时代更好地学习

在提高生产力和绩效之前,我常常花费大量时间在线获取大量数字内容。我的信息饮食范围从鼓舞人心的 TED 演讲到专门的播客,从 Hacker News 上找到的博客文章到 Twitter 上分享的电子书。

我非常好奇,并尽可能地接受新内容。会有什么危害呢?——我想。我喜欢这样度过我的时间。它感觉很有用,很有趣,而且它培养了我作为一个“聪明人”的自我形象——同时。确实,一个学习黑客。…

容器编排器的自我介绍

哈喽大家好,我是咸鱼

咸鱼在《一文带你了解容器技术的前世今生》有介绍过容器技术的由来以及Docker项目的发展

我们知道,Docker 及其他容器技术能够极大地简化应用程序的部署,做到了”开箱即用“

俗话说:”凡是具有两面性“。容器技术给我们带来便利的同时,一些问题也随之出现了

随着企业规模或者说业务规模的不断扩大,应用程序越来越多、而每个应用程序往往又由多个容器组成

例如想要实现一个简单的数据库 web 界面也可能需要为数据库服务器和应用程序运行单独的容器

于是容器的管理便成为了一个棘手的难题。工程师们为了解决这个问题,开发了一系列的容器编排器(container orchestrator),其中最有名的当属 kubernetes

容器编排器可以将一组容器作为一个基本单元去进行管理(例如 K8s 里的 pod),而且容器编排器可以在集群之间自动分配容器工作负载

那么今天,咸鱼将以自我介绍的形式来带大家了解三个容器编排器——Docker Compose、Swarm、Kubernetes

Docker Compose
 

大家好,我叫 Docker Compose ,我的爸爸是一个名叫 Docker 的公司

我的前身是一个叫 Fig 的项目,Fig 项目可是大有来头——因为它第一次提出了容器编排的概念

你只需要执行一条命令 fig up 就能够依次创建一系列容器,并且容器之间的关系及依赖性,都会自动帮你解决