部署 Nacos Server 安装和配置好Nacos后,在nacos的bin目录中使用脚本启动: Windows: 单机启动: 1startup.cmd -m standalone Linux: 单机启动: 1sh startup.sh -m standalone 在浏览器中使用对应的IP和端口访问,如http://localhost:8848/nacos。 默认账号和密码均为nacos。 更多Nacos的部署方式:Nacos 部署 服务注册中心 Nacos 客户端依赖 父工程: 1<!-- 2 Spring Cloud Alibaba 3 包含了Nacos的版本管理 4 --> 5<dependency> 6...

微服务远程调用 在微服务架构中,不同微服务都应该有自己独立的数据库以减少服务之间的冗余。而不同的服务之间可能需要共享数据。但拆分后的服务,它们的数据库是相互独立的,一个服务不可能去调用另一个服务的数据库,所以服务之间的信息共享成为一个问题。 为了解决服务之间的信息共享,微服务通过将业务暴露为接口,以供其它微服务使用。这种服务调用方式与用户调用服务的方式是相同的,都是通过URL来远程调用接口。 在微服务远程调用中,有一下两种角色: 服务提供者(Provider):一次业务中,被其它微服务调用的服务。 即提供接口给其它微服务的服务。 服务消费者(Consumer):一次业务中,调用其它微服务的服务。 即调用其它微服务提供的接口的服务。...

微服务需要根据业务模块拆分,做到单一职责,不要重复开发相同业务。 父工程 微服务是一种分布式开发,要将一个项目拆分为若干个服务,所以会有很多个服务模块。而要统一管理这些服务模块,可以创建一个父工程来管理。 在Maven中,用来统一管理的父工程是一个不包含实际代码,只含有pom.xml的模块。通过在pom.xml定义一些统一的信息(如依赖、依赖的版本等等),从而来管理整个工程。 父工程Maven依赖(pom.xml): 1<project xmlns="http://maven.apache.org/POM/4.0.0" 2 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3...

微服务架构 从前的项目是使用单体架构,单体架构是指将业务的所有功能集中在一个项目中开发,打成一个包部署。 单体架构的优点是: 架构简单; 部署成本低。 缺点是模块之间的耦合度高,不利于大型项目开发。 随着互联网行业的发展,服务架构从单体架构逐渐演变为现在流行的微服务架构(属于分布式架构的一种)。 分布式架构是指根据业务功能对系统进行拆分,每个业务模块作为独立项目开发,称为一个服务。 分布式架构的优点: 降低服务之间的耦合; 有利于服务升级拓展。 微服务是一种经过良好架构设计的分布式架构方案。 微服务的架构特征: 单一职责:微服务拆分粒度更小,每一个服务都对应唯一的业务能力,做到单一职责。 自治:团队独立、技术独立、数据独立,独立部...

计算机系统 跳转连接:软件设计师——计算机系统篇 基本单位 位(比特) 最小数据单位 bit、b 字节 最小存储单位 byte、B 1B = 8b 千字节 KB 1KB = 1024B 兆字节 MB 1MB = 1024KB 吉字节 GB 1GB = 1024MB 太字节 TB 1TB = 1024GB 中央处理单元 CPU的功能: 功能 说明 程序控制 通过执行指令来控制程序的执行顺序。 操作控制 CPU产生每条指令的(若干)操作信号并将操作信号送往对应的部件,控制相应的部件按指令的功能要求进行操作。 时间控制 对各种操作进行时间上的控制,即指令执行过程中操作信号的出现时间、持续时间及出现的时间顺序都需要进行严格控制。 数据处理...

数据流图(DFD) 数据流图是在逻辑上描述系统的功能、输入、输出和数据存储等。 数据流图中的基本图形元素包括: 基本元素 图形表示 数据流 加工 数据存储 外部实体 软件系统内部的数据处理模型,使用数据流、加工和数据存储构建。 数据流(Data Flow):由一组固定成分的数据组成,表示数据的流向。 在DFD种,数据流的流向由以下几种: 从加工流向另一个加工; 从加工流向数据存储(写); 从数据存储流向加工(读); 从外部实体流向加工(输入); 从加工流向外部实体(输出)。 即数据流的起点或终点必须至少有一个是加工。 除了与数据存储有关的数据流(流向数据存储或从数据存储流出),DFD中的每个数据流都必须用一个定义明确的名字表示。...

算法概述 算法(Algorithm)是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作。算法具有下列5个重要特性: 有穷性:一个算法必须总是(对任何合法的输入值)在执行有穷步之后结束,且每一步都可在有穷时间内完成。 确定性:算法中的每一条指令必须有确切的含义,理解时不会产生二义性。并且在任何条件下,算法只有唯一的一条执行路径,即对于相同的输入只能得出相同的输出。 可行性:一个算法是可行的,即算法中描述的操作都可以通过已经实现的基本运算执行有限次来实现。 输入:一个算法有零个或多个输入,这些输入取自于某个特定的对象的集合。 输出:一个算法有一个或多个输出,这些输出是同输入有着某些特定关系的量。 常用...

网络概述 计算机网络是计算机技术与通信技术相结合的产物,它实现了远程通信、远程信息处理和资源共享。现代计算机网络已具有统一的网络体系结构。 计算机网络提供的主要功能有: 数据通信 资源共享 负载均衡 高可共享性 计算机网络分类 按通信距离分类: 网络分类 分布距离 计算机分布范围 传输速率 局域网 MAN 10m左右 房间 4Mbps ~ 1Gbps 100m左右 楼寓 1000m左右 校园 城域网 WAN 10km 城市 50Kbps ~ 100 Mbps 广域网 LAN 100km以上 国家或全球 9.6Kbps ~ 45Mbps 其它分类方式与其分类如: 分类方式 分类内容 信息交换方式 电路交换网 分组交换网 综合交换网...

概述 软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工程,其目的是提高软件生产率、提高软件质量、降低软件成本。 软件工程学: 软件开发技术 软件开发方法学 软件工具 软件工程环境 软件工程管理 软件工程管理学 软件经济学 软件工程涉及软件开发、维护、管理等多方面的原理、方法、工具与环境。 计算机软件 计算机软件是指: 计算机系统中的程序:计算任务的处理对象和处理规则的描述。 计算任务:任何以计算机为处理工具的任务。 处理对象: 数据:如数字、文字、图形、图像、声音等,它们只是表示,而无含义。 信息:数据及有关的含义。 处理规则:一般指处理的动作和步骤。 程序文档:文档是为了便于了解程序所需的...

概述 结构化方法是一种面向数据流的开 发方法,它由以下构成: 结构化分析:根据分解与抽象的原则,按照系统中数据处理的流程,用数据流图来建立系统的功能模型,从而完成需求分析工作。 结构化设计:根据模块独立性准则、软件结构优 化准则将数据流图转换为软件的体系结构,用软件结构图来建立系统的物理模型,实现系统的 概要设计。 结构化程序设计:使用3种基本控制结构构造程序,任何程序都可以由顺序、选择和重复3种基本控制结构构造。 结构化方法总的指导思想是自顶向下、逐层分解,它的基本原则是功能的分解与抽象。它是软件工程中最早出现的开发方法,特别适合于数据处理领域的问题,但是不适合解决大规模的、特别复杂的项目,且难以适应需求的变化。 系统设计 抽象...