架构

Linux系统架构--Nginx与Tomcat负载均衡群集

醉酒当歌 提交于 2020-02-03 03:52:16
实验 通常,一个tomcat站点由于可能出现单点故障以及无法应付过多的客户复杂多样的请求等问题,不能单独应用于生产环境下,所以我们需要一套更可靠的解决方案来完善web站点架构 Nginx是一款性能优越的http服务器软件,它能够支持高达50000个并发连接数的响应,拥有强大的静态资源处理能力,运行稳定,并且内存、CPU等系统资源消耗非常低。目前很多大型网站都应用Nginx服务器作为后端网站程序的反向代理以及负载均衡器,来提升整个站点的负载并发能力 实验环境说明: 类型 IP地址 系统 软件包 Nginx服务器 192.168.179.226 centos7 nginx-1.12.2.tar.gz Tomcat服务器1 192.168.179.148 centos7 apache-tomcat-8.5.50.tar.gz jdk-8u231-linux-x64.tar.gz Tomcat服务器2 192.168.179.132 centos7 apache-tomcat-8.5.50.tar.gz jdk-8u231-linux-x64.tar.gz 客户机 centos7 安装Tomcat1服务 tar zxvf jdk-8u91-linux-x64.tar.gz -C /opt/ cd /opt/ //更改环境变量 mv /opt/jdk1.8.0_91/ /usr/local/

领域驱动设计(DDD) 架构

非 Y 不嫁゛ 提交于 2020-02-03 01:26:03
领域驱动设计(DDD) - HackerVirus - 博客园 https://www.cnblogs.com/Leo_wl/p/3866629.html 领域驱动架构(DDD)建模中的模型到底是什么?_领域模型,DDD_zmh458的博客-CSDN博客 https://blog.csdn.net/zmh458/article/details/96151607 面向服务和面向领域的不同 https://www.jdon.com/45994 避免滥用http状态码,如何将后端业务错误准确地传递到Restful客户端?Spring Boot和JAX-RS的RFC-7807问题详细信息 - codecentric https://www.jdon.com/53707 我在编程20年中学到的5件事 - DaedTech https://www.jdon.com/53432 为微服务构建服务网格的Istio自身却走向微服务的反面单体架构 – Christian Posta https://www.jdon.com/53703 幽默:什么是框架?营销词语背后的真实意思 - Ambrose Bierce https://www.jdon.com/53704 如何设计最佳的微服务架构 -DZone https://www.jdon.com/53706 批处理最佳实践 - Vlad Mihalcea

现实编程(概述)

心已入冬 提交于 2020-02-03 01:13:59
编写程序为了完成现实的功能,为了能够编写出更好的代码,开发人员不断地进行抽象,提取,复用,并且在此基础上设计个优良的软件架构。 一般的软件设计认为系统是整体的,耦合的,所以设计的思路是在现实需求的基础上进行一些提取,将功能点进行抽象,从而达到解耦和模块化的目的。 现实编程恰恰相反,认为系统是本身就是模块的,解耦的,因此设计的思路也不同,并不刻意要求去进行抽象,而是尽可能的用软件去描述系统本身,很多时候不是进行向上的抽像,而是向下的分解。 现实编程的好处是能够将需求 快速 转化为可用的软件,同时能够获得一个不错的软件架构——高内聚低耦合的系统,具有较好的可拓展性和可维护性。 现实编程之所以速度快是因为不需要花多大的时间进行设计,甚至不需要进行设计。在时候有你甚至可以直接进行编程,而不需要先设计出一个基本的框架, 这在那些需求不明确,频繁变化的系统开发中很有价值。 系统的需求越贴近现实世界,这种方法的效果越好,反之效果越差。 一般常用的软件设计思路是这样的: 当我们拿到原始需求以后进过分析,将整个需求分解成多个小的需求。 从小的需求中提取抽象,划分成多个功能块。 根据这些功能块划分出软件需要的模块。 根据整个软件的架构优化模块,直到软件架构的成型。 请注意,上图中的需求,功能和模块之间的连线使用的虚线,这说明它们并不是一一对应的,它们的关系是多对多的关系。 举个例子来说

微服务容器架构工程师

偶尔善良 提交于 2020-02-03 00:24:35
第一部分 Docker 与 Kubernetes 基础 第1章 Docker 容器 4 1.0 什么是 Docker? 4 1.2 Docker 发行版本 5 1.3 Docker基本实现原理 5 1.4 Docker 优势与局限性 8 1.5 容器与虚拟机区别 9 1.6 Dokcer 架构与术语 9 1.7 Docker 基本安装 10 1.8 Docker C/S 模式 13 1.9 Docker应用程序运行条件 15 第2章 Docker镜像 16 2.0 容器运行基础 16 2.1 Docker 加载镜像流程 17 2.2 Docker 镜像基本操作 17 2.4 Docker镜像和Overlay2关系 20 第3章 Docker镜像存储机制 21 3.1 Linux系统运行基础 21 3.2 OverlayFS存储原理 21 3.3 分析镜像存储结构 22 3.4 运行中容器的存储结构 24 3.5 容器每层文件存储详细解析 24 3.6 验证OverlayFS存储文件机制 26 第4章 容器基本操作 27 4.0 查看Docker 命令行帮助 27 4.1 常用基本操作列表 28 4.2 容器操作命令详解 29 第5章 Docker 基本网络管理 31 5.0 网络模式基本介绍 31 5.1 Docker 网络模式详解 31 5.2 容器网络操作 33 第6章

NR 5G 无线协议架构

穿精又带淫゛_ 提交于 2020-02-02 21:39:00
一、5G网络的整体架构 5G的网络架构主要包括5G接入网和5G核心网,其中NG-RAN代表5G 接入网,5GC代表5G核心网。 5G接入网(NG-RAN) 5G接入网主要包含一下两个节点:   1、gNB: 为5G网络用户提供NR的用户平面和控制平面协议和功能 ;  2、ng-eNB:为4G网络用户提供NR的用户平面和控制平面协议和功能 ; 其中gNB和gNB之间,gNB和ng-eNB之间,ng-eNB和gNB之间的接口都为Xn接口。 gNB和ng-eNB的主要功能如下: 1、无线资源管理相关功能:无线承载控制,无线接入控制,连接移动性控制,上行链路和下行链路中UE的动态资源分配(调度)  2、数据的IP头压缩,加密和完整性保护  3、在用户提供的信息不能确定到AFM的路由时,为在UE在附着的时候选择到AMF路由;  4、将用户平面数据路由到UPF  5、提供控制平面信息向AMF的路由  6、连接设置和释放 7、寻呼消息的调度和传输  8、广播消息的调度和传输  9、移动性和调度的测量和测量报告配置  10、上行链路中的传输级别数据包标记;  11、会话管理  12、QoS流量管理和无线数据承载的映射  13、支持处于RRC_INACTIVE状态的UE  14、NAS消息的分发功能  15、无线接入网络共享  16、双连接  17、支持NR和E-UTRA之间的连接   5G核心网

Struts 2的架构和运行流程

蹲街弑〆低调 提交于 2020-02-02 21:24:46
  之前看书,笔记都是记录在云笔记上(因为实在太水,不好意思写blog)。现在感觉还是应该写在blog上,写得比较水,而且有一些不懂的地方也希望大家可以帮忙看看。之后再慢慢把以前的笔记整理上来。里面有什么不对的,希望大家可以帮忙指正。   最近在看《研磨Struts 2》,看完了架构和运行流程,下面写一写自己的理解。 Struts 2的架构   Struts 2的架构如下图(图从官网找的): 1. 橙色是Servlet Filters,过滤链,所有的请求都要经过Filter链的处理。 2. 浅蓝色是Struts Core,Struts 2的核心部分,Struts 2中已经做好的功能,在实际开发中不需要动它们。 3. 浅绿色是Interceptors,Struts 2的拦截器。Struts 2提供了很多默认的拦截器,可以完成日常开发的绝大部分工作;也可以自定义拦截器用来满足具体业务的需求。 4. 浅黄色是User Created,由开发人员创建的,包括struts.xml、Action、Template。 Struts 2的运行流程 以在Tomcat下一个简单例子为例: 1. 用户在页面上填写所要求的参数数据后,触发请求事件提交请求。Tomcat服务器会接收到这个请求,并通过URL的web上下文来选择处理这个请求Web应用。(这一块的内部流程是怎样的还不清楚,等以后有接触到再补充

互联网架构图

点点圈 提交于 2020-02-02 01:24:16
整个互联网由各个运营商和企业网络等等组成, 上面图画了两个左边电信isp 右边网通isp,每个运营商都有自己的机房,电信机房等,电信网络到网通网络 中间有个线连接,这上面有多少人跨运营商访问,公用一条线,所以跨运营商比较卡 电信网络访问电信isp的网络快等,这也是为什么经常下载有电信下载,联通下载,移动下载,因为服务器在每个运营商都托管了,让用户自己选择哪个运营商服务器下载速度快。 还有双线机房:有根光纤连到网络,这样不用跨运营商,到哪都快。 来源: https://www.cnblogs.com/fpcbk/p/12250861.html

Android Jetpack架构组件之Navigation入门

混江龙づ霸主 提交于 2020-02-02 01:20:35
——沉默不是因为词穷,而是因为心空。现实有多残酷,你就应该有多坚强。 前言 一、简介 (1)是什么 (2)有什么用 (3)有什么优点 ​二、基本使用 (1)添加依赖 (2)创建navigation视图 (3)Activity中添加NavHost (4)代码实现导航功能 三、组件分析 四、进阶 五、内容推荐 前言 ——这篇主要是 梳理 一下Jetpack架构组件之一的 Navigation ,并结合楼主所学做个 总结 。面向那些还没接触 Navigation 的同学们。看完这篇可以快速了解它,并轻松使用。也想请教前辈们指点文章中的错误或不足的地方。本篇只描述 Navigation ,不会拓展额外的知识,若想了解更多关于Jetpack组件知识可以看楼主写的Jetpack专栏。 一、简介 (1)是什么 ——是Android Jetpack 中的导航组件,支持用户导航、进入和退出应用中不同内容片段的交互。 这是文档给的说法,描述简单。却不易理解,唯有使用过该组件的方可理解其深刻含义。 这里就不强行解释,待浏览完该文章再细品。 (2)有什么用 ——Android Jetpack 的导航组件可帮助您实现导航,无论是简单的按钮点击,还是应用栏和抽屉式导航栏等更为复杂的模式。 (3)有什么优点 管理 Fragment 更加方便 更好的处理Fragment切换导航问题 该组件还可以支持抽屉式导航栏

听说你想了解微服务架构

99封情书 提交于 2020-02-01 19:23:12
前言: 热辣滚烫的微服务一直在拨撩着程序员的心,然而很多人对微服务架构不甚明了,单纯的为了用而用。只是把现有的单体拆点东西出来,例如商品服务,然后彼此间用上RPC就算微服务了。恕我直言,其实这还相差甚远! 阅读本文你将收获: 了解什么是微服务架构。 了解微服务架构有哪些内容。 了解微服务架构中遇到的问题。 这些问题的解决方案 大纲: 什么是微服务? 微服务架构是什么? 微服务架构的各个组成怎么解决问题的? 一、什么是微服务? 1.1 在谈论什么是微服务的时候,我们先说说为什么需要微服务? 单体之痛: 团队开发协作巨麻烦 多人协同开发的时候,会因为同时修改了代码导致编译不通过,各种重来。 系统可用性差 因为某个同学代码质量问题,成为整个系统的瓶颈所在,影响整个系统的可用性。 部署效率低下 代码越来越多,所涉及的相关资源也越来越多,打包编译一次的时间都能撩个妹了。 难以扩展 当系统需要伸缩的时候,必须对应用程序进行扩容,不能做到对某个功能点单独扩容。 我要用微服务 当你想用微服务的时候,单体的问题你能找出千千万。但是,如果你一定要用,请先通读此文后,做到心中有B-tree了在用! 1.2 微服务解决了什么问题? 当然,微服务能解决上述单体应用出现的问题,不然我写这么多干啥呢~o(  ̄︶ ̄ )o(手动狗头) 1.3 微服务带来了哪些问题? 任何事情都有两面性,微服务有其优点,必然有其缺点

RPC浅谈

ぐ巨炮叔叔 提交于 2020-02-01 17:15:43
RPC RPC(Remote Procedure Call) 广义上的RPC RPC(架构)框架 RPC框架原理 PRC架构组件 PRC架构调用过程 常见的RPC框架及分类 常见的RPC 框架的比较 RPC协议 MVC架构、RPC架构、SOA架构、微服务架构区别 单体架构 MVC(Model View Controller) 多服务架构 RPC(Remote Procedure Call)远程过程调用 SOA(Service Oriented Architecture)面向服务架构 微服务架构(轻量级的服务治理方案) RPC(Remote Procedure Call) 远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。 个人觉得单纯的讲RPC 是没有意义的。 RPC应该被分为广义上的RPC ,RPC框架,RPC协议(后2个暂且称之为狭义的RPC) 广义上的RPC 所谓广义RPC 根据定义 通过网络调用远程计算机上的服务即可称之为RPC 。所以任何符合该说明的都应该属于RPC。包括常见的web服务个人觉得其实也可以理解为RPC. RPC(架构)框架 RPC框架原理 PRC架构组件 一个完整的RPC架构里面包含了四个核心的组件,分别是Client,Client Stub,Server以及Server Stub,这个Stub可以理解为存根。