架构

CS架构和BS架构

血红的双手。 提交于 2020-01-26 18:56:27
C/S又称Client/Server或客户/服务器模式。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或 SQL Server。客户端需要安装专用的客户端软件。 B/S是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。浏览器通过Web Server 同数据库进行数据交互。 cs是客房端服务器模式;bs是浏览器服务器模式。它们最主要的区别是cs架构的应用程序需要在用户的计算机上进行安装。如我们常用的word,excel等应用软件属于cs架构;而bs架构的应用程序不需要在用户的计算机上进行安装,只需要有一个浏览器就可以运行bs架构的应用程序。如现在网上一般的电子商务网站即属于此类型。一个是客户端和服务端结构。一个是浏览器,服务器结构。 来源: https://www.cnblogs.com/kkkore/p/5441780.html

java架构《并发线程基础一》

冷暖自知 提交于 2020-01-26 13:55:15
1、实现线程常见的两种的方式 : 1:继承extends Thread 2:实现new Runnable 实现其run方法 2、线程安全 结论: 当多个线程访问某一个类(对象或方法)时,这个对象始终都能表现出正确的行为,那么这个类(对象或方法)就是线程安全的。 3、 关键字synchronized(加锁) 使用场景: 多个线程调用产生并发时。可以在任意对象及方法上加锁,而加锁的这段代码称为"互斥区"或"临界区" 原理: /** * 分析:当多个线程访问myThread的run方法时,以排队的方式进行处理(这里排对是按照CPU分配的先后顺序而定的), * 一个线程想要执行synchronized修饰的方法里的代码: * 1 尝试获得锁 * 2 如果拿到锁,执行synchronized代码体内容;拿不到锁,这个线程就会不断的尝试获得这把锁,直到拿到为止, * 而且是多个线程同时去竞争这把锁。(也就是会有锁竞争的问题) */ 使用方式: 1、对象锁                 在方法修饰符后面加 synchronized 或者方法块里面加 synchronized (this){方法块} /** * 关键字synchronized取得的锁都是对象锁,而不是把一段代码(方法)当做锁, * 所以代码中哪个线程先执行synchronized关键字的方法,哪个线程就持有该方法所属对象的锁

弄懂什么是分布式和微服务

一笑奈何 提交于 2020-01-26 09:35:08
转自: https://blog.csdn.net/zhonglunsheng/article/details/83153451 简单的说,微服务是架构设计方式,分布式是系统部署方式,两者概念不同 微服务是啥? 这里不引用书本上的复杂概论了,简单来说微服务就是很小的服务,小到一个服务只对应一个单一的功能,只做一件事。这个服务可以单独部署运行,服务之间可以通过RPC来相互交互,每个微服务都是由独立的小团队开发,测试,部署,上线,负责它的整个生命周期。 微服务架构又是啥? 在做架构设计的时候,先做逻辑架构,再做物理架构,当你拿到需求后,估算过最大用户量和并发量后,计算单个应用服务器能否满足需求,如果用户量只有几百人的小应用,单体应用就能搞定,即所有应用部署在一个应用服务器里,如果是很大用户量,且某些功能会被频繁访问,或者某些功能计算量很大,建议将应用拆解为多个子系统,各自负责各自功能,这就是微服务架构。 那么分布式又是啥? 分布式服务顾名思义服务是分散部署在不同的机器上的,一个服务可能负责几个功能,是一种面向SOA架构的,服务之间也是通过rpc来交互或者是webservice来交互的。逻辑架构设计完后就该做物理架构设计,系统应用部署在超过一台服务器或虚拟机上,且各分开部署的部分彼此通过各种通讯协议交互信息,就可算作分布式部署,生产环境下的微服务肯定是分布式部署的

史上最强项目实战(一)——开篇

不羁岁月 提交于 2020-01-26 02:50:11
1. 史上最强项目实战到底是啥项目,这么牛逼? 不瞒你说,这不是一个啥多牛逼的项目,它只是一个普通的不能再普通的电商项目,该项目的业务架构对于真正大型电商项目来说是微乎其微的,是片面的。当然我们也不可能单凭一个人或者一个小团队自己瞎搞搞就能搞出可商用的电商项目,说可能的,那是在扯淡。 但是……虽然该项目的业务架构不够丰富,不够饱满。可能我们自己拿来练手的话也就几个功能模块把整个流程给串起来,但就是这样的话,我们用到的技术可不少。比如Spring全家桶、比如Redis实现缓存、比如RabbitMQ实现异步和解耦、比如ElasticSearch实现搜索等等,具体的我们稍后再说。 2. 项目介绍 是时候为大家揭开我们这个项目的真面目了,它叫……乐优商城。没错,就是某马程序员的一个项目实战课程,其它更多介绍请自行上网查阅。(就是这么任性) 3. 项目业务架构 项目的业务架构通常来说有两个方面,第一:项目的受众是谁,即我们的目标用户是谁,谁会来用我们的项目;第二:项目提供什么功能,项目能给用户带来什么。 那么: (1)第一、乐优商城作为一个全品类的电商购物网站,它的目标用户自然是互联网用户,所有能够连上互联网的人都可以浏览登录到系统体验。 (2)第二、乐优商城提供以下功能,整个乐优商城可以分为两部分,分别为后台管理系统、前台门户系统。具体功能如下: 后台管理: 商品管理,包括商品分类、品牌

华为 鸿蒙系统(HarmonyOS)

自古美人都是妖i 提交于 2020-01-26 00:38:23
HarmonyOS Ⅰ. 鸿蒙系统简介 鸿蒙系统(HarmonyOS) ,是第一款基于微内核的全场景分布式OS,是华为自主研发的操作系统。2019年8月9日,鸿蒙系统在华为开发者大会 <HDC.2019> 上正式发布,华为会率先部署在智慧屏、车载终端、穿戴等智能终端上,未来会有越来越多的智能设备使用开源的 鸿蒙OS 。 鸿蒙OS 实现模块化耦合,对应不同设备可弹性部署, 鸿蒙OS 有三层架构,第一层是内核,第二层是基础服务,第三层是程序框架 。可用于大屏、PC、汽车等各种不同的设备上。还可以随时用在手机上,但暂时华为手机端依然优先使用安卓。 鸿蒙 OS 底层由鸿蒙微内核、Linux 内核、Lite OS 组成,未来将发展为完全的鸿蒙微内核架构。 Ⅱ. 鸿蒙系统发展进程 [2012] 2012年华为开始在上海交通大学规划“鸿蒙”操作系统。 [2019] 华为已经对100万部搭载有自研“鸿蒙”操作系统的手机进行了测试。 [2019.5.17] 华为操作系统团队开发了其自主产权的“鸿蒙操作系统”。 [2019.5.24] 注册公告日期是2019年5月14日,专用权限期是从2019年5月14日到2029年5月13日。 [2019.8.9] 华为官方发布“鸿蒙操作系统”,并且宣布“鸿蒙操作系统”将开源。 Ⅲ . 鸿蒙系统特点 鸿蒙OS的设计初衷是为满足全场景智慧体验的高标准的连接要求

知识图谱-架构图

a 夏天 提交于 2020-01-25 21:04:34
binlog-MySQL的日志 用于实时处理与离线增量导入架构 Kafka消息队列 @ 老虎队队长(AV75056045) 来源: CSDN 作者: 叶落叶子 链接: https://blog.csdn.net/weixin_40485502/article/details/103990640

MySQL——MHA高可用群集架构

心不动则不痛 提交于 2020-01-25 10:46:37
MHA高可用配置及故障切换 文章目录 MHA高可用配置及故障切换 前言 一、MHA特点 二、MHA的组成 三、 传统的Mysql主从架构存在的问题 四、MHA示例 1) 安装MySQL数据库 2) 配置MySQL一主两从 主服务器配置 从服务器配置 3) 安装MHA软件 4) 配置无密码认证 5) 配置MySQL MHA高可用 6) 模拟master故障切换 前言 MHA目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀MySQL故障切换和主从提升的高可用软件。在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用。 MHA还提供在线主库切换的功能,能够安全地切换当前运行的主库到一个新的主库中(通过将从库提升为主库),大概0.5-2秒内即可完成。 一、MHA特点 自动故障切换过程中,MHA视图从宕机的主服务器上保存二进制日志,最大程度的保证数据的不丢似乎 使用MySQL 5.5的半同步复制,可以大大降低数据丢失的风险 二、MHA的组成 MHA Manager(管理节点) MHA Node(数据节点) MHA Manager可以单独部署在一台独立的机器上管理多个master

程序架构_2

坚强是说给别人听的谎言 提交于 2020-01-25 05:37:27
架构设计 软件架构是指在一定的设计原则基础上,从不同角度对组成系统的各部分进行搭配和安排,形成系统的多个结构而组成架构,它包括该系统的各个组件,组件的外部可见属性及组件之间的相互关系。组件的外部可见属性是指其他组件对该组件所做的假设。 一、架构设计过程 业界软件架构设计的方法论很多,各有各自的应用场景和特点,下文结合ADMEMS(Architecture Design Method has been Extended to Method System)架构设计方法论说明软件架构的过程: 预架构阶段 目标:全面理解需求;需求结构化,摒弃“需求列表”,建立二维需求观(ADMEMS矩阵)。 方法:使用ADMEMS矩阵方法,捋清需求间关系和发现衍生需求。 具体步骤: 1、与人:与项目经理、需求分析师等内部需求人员了解需求;与客户了解需求(不建议架构师做需求分析师角色)。 2、与物:了解《需求规格说明书》等需求文档。" 3、对需求有什么问题,反馈给售前或销售,可能会参与拜访客户或电话会议。 4、销售或售前有时会要求提供一个大致的工作量,以便他们初步评估项目可行性。 概念架构 目标:高层组件及其关系 方法: 1、初步设计,基于关键功能,借助鲁棒图进行以发现职责为目的的初步设计(不是必须)。 2、高层分割,将复杂系统切分为多个二级系统或多个子系统。 3、考虑非功能需求,采用ADMEMS推荐的目标

MySQL搭建主从复制架构实战

烈酒焚心 提交于 2020-01-24 22:04:12
主从复制原理 主库配置文件my.conf 在主库创建同步用户 从库配置文件my.conf 搭建主库 解决docker MySQL容器group by报错问题: vi my.cnf 搭建从库 主从复制模式 vi my.conf配置文件: 来源: CSDN 作者: 学亮编程手记 链接: https://blog.csdn.net/a772304419/article/details/104033522

Power Designer简介

那年仲夏 提交于 2020-01-24 17:58:28
Power Designer简介 Power Designer是Sybase的企业建模和设计解决方案,采用模型驱动方法,将业务与IT结合起来,可帮助部署有效的企业体系结构,并为研发生命周期管理提供强大的分析与设计技术。 1 Power Designer是业务流程/数据建模软件和元数据管理解决方案,适用于数据架构、信息架构和企业架构领域。 Power Designer使数据建模人员、数据分析师、架构师和开发人员利用元数据管理,而非技术人员使用以业务为中心的技术在一个统一的架构中进行设计。 Power Designer支持所有通用开发平台和80多个数据库系统,使数据库设计人员和DBA能够与所有领先的数据库系统一起工作,并将影响分析和设计时的变更管理与数据库设计技术相结合。 Power Designer安装包 2 : 下载链接 提取码:v43b 软件建模 通过建模的方式代替原有的“文字+图形”描述软件工程整个实施过程的各种文档模型,使软件工程从需求到代码能够统一起来,实现需求的变动直接影响代码的变化,解决以往“编码改动,文档就失效”的问题,提高代码与需求的有效性联系。 软件建模尽管因不同地建模平台存在或多或少的差异,但是大体可以分为业务建模、数据建模和应用程序建模三类。 业务建模 业务建模(Business Modeling)是一种建模方法的集合,目的是对业务进行建模