shutdown

H分公司的网络部署与搭建

℡╲_俬逩灬. 提交于 2020-01-18 08:16:47
H分公司的网络部署与搭建 此项目在GNS3中模拟实现 H分公司网络搭建PPT 下载 H分公司网络搭建 设计文档下载 系统需求 H总公司拟为兰州市区成立的H分公司部署局域网络,并连接到公司总部网络:总部网络设备由两台路由器,一台交换机以及一台PC机充当服务器,除此之外网络管理员为了实现网络间的连通性,决定使用动态路由协议来实现网络互连,H公司总部的拓扑图如下所示: H分公司网络搭建网络时,H分公司获得了总部统一分配的24位子网掩码的B类私网地址。施工方还需采购1台路由器、2台三层交换机、4台24口的二层交换机和1台FTP服务器。 2.网络要求: 1、 H网络接入到R2路由器上,使用OSPF动态路由协议,并配置为完全末梢区域(nssa); 2、 H有三个部门,分别是行政部20台左右的主机(实际验收用2台主机作验证,下同),技术部20台左右的主机,工程部40台左右主机,它们必须分属3个不同的VLAN; 3 、H所有主机均能通过NAT访问总部网络(以能ping通总部PC为准); 4、 H的技术部允许访问H的FTP服务器(FTP服务器需部署FTP服务,其他PC部署FTP客户端,以能实现FTP上传下载为准),其他部门不能访问; 5 、H网络在核心交换机处部署冗余保护,FTP服务器部署冗余保护; 6、 所有主机自动获取IPv4地址。 3.基本功能: 1 、H所有主机均能通过NAT访问总部网络

阿里开源服务发现组件 Nacos快速入门

最后都变了- 提交于 2020-01-17 18:16:08
最近几年随着云计算和微服务不断的发展,各大云厂商也都看好了微服务解决方案这个市场,纷纷推出了自己针对微服务上云架构的解决方案,并且诞生了云原生,Cloud Native的概念。 云原生是一种专门针对云上应用而设计的方法,用于构建和部署应用,以充分发挥云计算的优势。 云原生应用的特点是可以实现快速和频繁的构建、发布、部署,可以方便的满足在扩展性,可用性,可移植性等方面的要求,并提供更好的经济性。 针对云原生,云厂商也纷纷提出了自己的解决方案,阿里巴巴开源的Nacos就是其中之一,Nacos同时集成到了Spring Cloud Alibaba中,作为一个整体的解决方案。 Nacos解决两个核心问题:动态配置管理,服务注册发现。 一、Nacos支持功能 Nacos支持以下的功能,包括服务发现,配置管理,元数据管理,地址服务器,支持云原生,支持Docker和K8s等。 服务发现 服务注册与发现 健康检查:支持服务端探测、客户端心跳 路由策略:支持权重、保护阈值、就近访问 配置管理 配置管理:支持发布、修改、查询、监听配置 灰度配置:支持灰度发布 元数据管理 对接第三方CMDB 地址服务器 支持Nacos寻址 云原生支持 对接Istio 对接ConfigMap 多客户端支持 支持多种客户端,包括Java客户端、Go客户端、Node.js客户端、C#客户端 支持Docker和K8s

Dubbo优雅停机

送分小仙女□ 提交于 2020-01-17 13:03:33
Dubbo优雅停机 背景 对于任何一个线上应用, 如何在服务更新部署过程中保证客户端无感知是开发者必须要解决的问题 ,即从应用停止到重启恢复服务这个阶段不能影响正常的业务请求。理想条件下,在没有请求的时候再进行更新是最安全可靠的,然而互联网应用必须要保证可用性,因此在技术层面上 优化应用更新流程来保证服务在更新时无损是必要的 。 传统的解决方式是通过将应用更新流程划分为手工摘流量、停应用、更新重启三个步骤,由人工操作实现客户端无对更新感知。这种方式简单而有效,但是限制较多:不仅需要使用借助网关的支持来摘流量,还需要在停应用前人工判断来保证在途请求已经处理完毕。这种需要人工介入的方式运维复杂度较高,只能适用规模较小的应用,无法在大规模系统上使用。 因此,如果在容器/框架级别提供某种自动化机制,来自动进行摘流量并确保处理完已到达的请求,不仅能保证业务不受更新影响,还可以极大地提升更新应用时的运维效率。 这个机制也就是 优雅停机 ,目前Tomcat/Undertow/Dubbo等容器/框架都有提供相关实现。下面给出正式一些的定义:优雅停机是指在停止应用时,执行的一系列保证应用正常关闭的操作。这些操作往往包括等待已有请求执行完成、关闭线程、关闭连接和释放资源等,优雅停机可以避免非正常关闭程序可能造成数据异常或丢失,应用异常等问题。 优雅停机本质上是JVM即将关闭前执行的一些额外的处理代码。

android代码实现关机

早过忘川 提交于 2020-01-16 20:30:55
1、API没有开放,需要提升为syetem app级别! 2、android 模块编译,mm 命令 2.1、先进入顶层 source build/envsetup.sh 2.2、进入目录 mm 3、android.mk LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE_TAGS := optional LOCAL_SRC_FILES := $(call all-java-files-under, src) LOCAL_PACKAGE_NAME := Shutdown LOCAL_CERTIFICATE := platform include $(BUILD_PACKAGE) # Use the folloing include to make our test apk. include $(call all-makefiles-under,$(LOCAL_PATH)) 4、源码 Intent intent = new Intent(Intent.ACTION_REQUEST_SHUTDOWN); intent.putExtra(Intent.EXTRA_KEY_CONFIRM, false); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

Executor(一)ExecutorService 线程池

别等时光非礼了梦想. 提交于 2020-01-15 00:21:16
Executor(一)ExecutorService 线程池 本篇主要涉及到的是 java.util.concurrent 包中的 ExecutorService。ExecutorService 就是 Java 中对线程池的实现。 一、ExecutorService 介绍 Java API 对 ExecutorService 接口的实现有两个,它们是 Java 线程池具体实现类 ): ThreadPoolExecutor ScheduledThreadPoolExecutor 二、ExecutorService 创建 创建一个什么样的 ExecutorService 的实例(即线程池)需要根据具体应用场景而定,不过 Java 给我们提供了一个 Executors 工厂类,它可以帮助我们很方便的创建各种类型 ExecutorService 线程池,Executors 一共可以创建下面这四类线程池: newCachedThreadPool 创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。 newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。 newScheduledThreadPool 创建一个定长线程池,支持定时及周期性任务执行。 newSingleThreadExecutor

浅谈Tomcat安装

泪湿孤枕 提交于 2020-01-14 18:40:40
博文结构 tomcat介绍 Tomcat组件及其特点 安装Tomcat 自定义目录 开启JMX远程调试功能 使用https访问tomcat服务器 一.Tomcatl介绍 Tomcat是apache软件基金会项目中的一个核心项目,有apache和sun其他一些公司及个人共同开发而成的Tomcat服务器是一个免费的开放源代码的web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是多的场合下被普遍使用,是开发和调试jsp程序的首选。 可以这样认为,当一台服务器配置好apache服务器以后,可以利用apache服务器来响应我们的html页面的访问请求,而tomcat是 apahce 服务器的扩展,当你运行tomcat的时候实际上是作为一个apache独立的进程单独运行的,apache服务器为html页面提供服务的,而tomcat是运行jsp页面和servlet,另外tomcat也能具有处理html页面的功能,但是处理静态的能力没有apache处理好。 二.Tomcat组件及其特点 tomcat组件 servlet(应用程序或者容器)是java提供的用于开发web服务器应用程序的一个组件,运行在服务器端,有servlet用于生成动态页面内容,servlet是平台立的java类,编写一个servlet,实际上就是安装servlet规范编写一个java类 什么是servlet ?

Oracle 监听/数据库 启动/关闭

元气小坏坏 提交于 2020-01-14 07:04:23
LSNRCTL命令启动、关闭和查看监听器的状态的方法 从lsnrctl status命令的输出中得到监听器状态,包括如下的信息: 监听器的启动时间 监听器的运行时间 监听器参数文件listener.ora的位置,通常位于$ORACLE_HOME/network/admin目录下 监听器日志文件的位置 1. 查看监听器状态 $ lsnrctl status 2. 启动监听器 $ lsnrctl start //如果你只想启动特定的监听器,可以再start后面指定监听器的名字,例如:lsnrctl start [listener-name] 3. 关闭监听器    $ lsnrctl stop //如果你只想关闭特定的监听器,可以再stop后面指定监听器的名字,例如:lsnrctl stop [listener-name] 4. 重启监听器    $ lsnrctl reload      //用lsnrctl reload重启监听器,此命令可以代替lsnrctl stop和lsnrctl start。重启将会在不需要关闭和启动监听器的情况下读取listener.ora的配置 lsnrctl 是listener control 监听控制的缩写 摘要基于该文章: http://blog.csdn.net/zjliu1984/article/details/4273304 --------

linux socket常用函数

痞子三分冷 提交于 2020-01-14 01:43:36
======== TCP ======== TCP_Server socket() bind() listen() accept() write() read() close() 和shutdown() TCP_Client socket() connect() send() 和recv() close() 和shutdown() ======== UDP ======== UDP_Server socket() bind() sendto() 和recvfrom() close() 和shutdown() UDP_Client socket() sendto() 和recvfrom() close() 和shutdown() getpeername() gethostname() -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- socket() 我们使用系统调用socket()来获得文件描述符: #include<sys/types.h> #include<sys/socket.h> int socket

Tomcat线程模型分析及源码解读

拥有回忆 提交于 2020-01-13 16:09:52
1 四种线程模型 配置方法:在tomcat conf 下找到server.xml,在<Connector port="8080" protocol="HTTP/1.1"/> BIO: protocol =" org.apache.coyote.http11.Http11Protocol" NIO: protocol ="org.apache.coyote.http11.Http11NioProtocol" AIO: protocol ="org.apache.coyote.http11.Http11Nio2Protocol" APR: protocol ="org.apache.coyote.http11.Http11AprProtocol" 2 Connector 结构 3 三种请求接受方式 Tomcat支持三种接收请求的处理方式:BIO、NIO、APR 1.BIO模式 阻塞式I/O操作,表示Tomcat使用的是传统Java I/O操作(即Java.io包及其子包)。Tomcat7以下版本默认情况下是以bio模式运行的,由于每个请求都要创建一个线程来处理,线程开销较大,不能处理高并发的场景,在三种模式中性能也最低。 启动tomcat看到如下日志,表示使用的是BIO模式: 2.NIO模式 是java SE 1.4及后续版本提供的一种新的I/O操作方式(即java.nio包及其子包)

linux socket常用函数

限于喜欢 提交于 2020-01-12 14:39:08
======== TCP ======== TCP_Server socket() bind() listen() accept() write() read() close() 和shutdown() TCP_Client socket() connect() send() 和recv() close() 和shutdown() ======== UDP ======== UDP_Server socket() bind() sendto() 和recvfrom() close() 和shutdown() UDP_Client socket() sendto() 和recvfrom() close() 和shutdown() getpeername() gethostname() -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- socket() 我们使用系统调用socket()来获得文件描述符: #include<sys/types.h> #include<sys/socket.h> int socket