![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
软件架构与设计
ONROAD0612
不问前程何如,但愿落幕无悔
展开
-
热闹驱动开发
博客转载自“程序员小伙”公众号软件开发团队所做的软件架构或技术栈的决策,很多并没有经过踏实的研究和对目标成果的认真思考,而是不准确的意见、社交媒体的信息,或者就些是“热闹”的玩意。我称这种作派为“热闹驱动开发(Hype Driven Development,HDD)”,眼见它的危害,我赞成更专业的做法,就是“脚踏实地的软件工程”。下面我们一起看看HDD的来龙去脉,想想能如何改进。新技术带来新希望开...转载 2018-04-26 09:29:16 · 328 阅读 · 0 评论 -
分布式通信的几种方式
转载自“java一日一条”公众号目前的分布式架构主要由corba和JavaEE搭建,JavaEE优点是跨平台,开发成本低、周期短,不需要学习IDL语言;CORBA的优点是服务器响应速度更快。决定这些架构优缺点的,主要就是通信方式。在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,特别是在Java领域 中有很多可实现远程通讯的技术,例如:RMI、MINA、ESB、Bu...转载 2018-04-26 10:42:08 · 3391 阅读 · 0 评论 -
高可用Redis服务架构分析与搭建
基于内存的Redis应该是目前各种Web开发业务中最为常用的Key-Value数据库了,我们经常在业务中用其存储用户登陆态(Session存储),加速一些热数据的查询(相比较MySQL而言,速度有数量级的提升),做简单的消息队列(LPUSH和BRPOP)、订阅发布(PUB/SUB)系统等等。规模比较大的互联网公司,一般都会有专门的团队,将Redis存储以基础服务的形式提供给各个业务调用。不过任...转载 2018-06-13 10:26:21 · 242 阅读 · 0 评论 -
PowerDesigner --根据物理模型创建SQL
打开PD软件:1.新建概念模型(conceptual Data Model)File-->New Model-->Conceptual Data Mode或者点击工作区,右键-->New Model-->Conceptual Data Mode2.打开模型时,会有方格线,去除方格线Tools-->Dis3.创建表并建立关系:各个含义如下:...转载 2018-05-15 17:53:52 · 1700 阅读 · 0 评论 -
理解RESTful架构
理解RESTful架构越来越多的人开始意识到,网站即软件,而且是一种新型的软件。这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点。网站开发,完全可以采用软件开发的模式。但是传统上,软件和网络是两个不同的领域,很少有交集;软件开发主要针对单机环境,网络则主要研究系统之间的通信。互联网的兴起,使得这两个领域开...转载 2017-06-05 11:41:14 · 295 阅读 · 0 评论 -
RESTful API设计指南
RESTful API 设计指南网络应用程序,分为前端和后端两个部分。当前的发展趋势,就是前端设备层出不穷(手机、平板、桌面电脑、其他专用设备......)。因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信。这导致API构架的流行,甚至出现"API First"的设计思想。RESTful API是目前比较成熟的一套互联网应用程序的API设计理论。我以前写过一篇《理解RESTf...转载 2017-06-05 11:18:12 · 374 阅读 · 0 评论 -
Restful API实践(一)设计要点
1 概述针对目前项目中使用的前后端分离开发,越来越感觉到API设计的重要性,而不好的API设计通常让使用者通过URL无法明确知道这个URL到底是干什么用的,并且会显得设计混乱,在此将使用Restful风格设计API进行总结,并对在SpringBoot中具体实现Restful API的设计给出一定示例。2 Restful API设计使用Restful API是一种面向资源的设计风格,因此...原创 2018-08-30 12:39:23 · 1197 阅读 · 0 评论 -
Restful API实践(二)SpringBoot项目接口设计示例
1 概述通过上一遍文章(Restful API实践(一)设计要点)我们对Restful API的设计要点进行了详细地介绍,面对现在SpringCloud框架和微服务的火爆,现在我将SpringBoot中常用到的接口类型的设计进行总结。2 GET接口get请求通常表达获取某种资源。(1)获取多个资源。针对多个资源的获取我们可以使用url中的名词为复数形式进行标记为获取多个,具体示例如...原创 2018-08-31 15:02:50 · 4760 阅读 · 0 评论 -
Restful API实践(三)RestTemplate使用详解
1 概述通过上一篇文章(Restful API实践(二)SpringBoot项目接口设计示例)我们对SpringBoot项目Restful API接口的定义进行了详细地总结,这里我们就需要来看一看如果使用RestTemplate来消费这些接口。2 创建RestTemplate在项目中我们通常在项目启动的时候就在Spring容器中创建一个RestTemplate的bean,在需要的时候我...原创 2018-08-31 16:18:26 · 8382 阅读 · 1 评论 -
负载均衡基础知识
转载自“java一日一条”公众号一、什么是负载均衡? 互联网早期,业务流量比较小并且业务逻辑比较简单,单台服务器便可以满足基本的需求;但随着互联网的发展,业务流量越来越大并且业务逻辑也越来越复杂,单台机器的性能问题以及单点问题凸显了出来,因此需要多台机器来进行性能的水平扩展以及避免单点故障。但是要如何将不同的用户的流量分发到不同的服务器上面呢? 早期的...转载 2018-04-26 10:38:40 · 360 阅读 · 0 评论 -
微服务--缓存设计
1概述在高并发场景下,需要通过缓存来减少数据库的压力,使得大量的访问进来能够命中缓存,只有少量的需要到数据库层。由于缓存基于内存,可支持的并发量远远大于基于硬盘的数据库。所以对于高并发设计,缓存的设计是必不可少的一环。2为什么要使用缓存 为什么要使用缓存呢?源于人类的一个梦想,就是多快好省的建设社会主义。多快好省?很多客户都这么要求,但是作为具体做技术的你,当然知道,好就不能快...转载 2018-06-11 10:19:32 · 561 阅读 · 0 评论 -
微服务架构实施原理
1、前言基于微服务架构和Docker容器技术的PaaS云平台建设目标是给我们的开发人员提供一套服务快速开发、部署、运维管理、持续开发、持续集成的流程。平台提供基础设施、中间件、数据服务、云服务器等资源,开发人员只需要开发业务代码并提交到平台代码库,做一些必要的配置,系统会自动构建、部署,实现应用的敏捷开发、快速迭代。在系统架构上,PaaS云平台主要分为微服务架构、Docker容器技术、DveOps...转载 2018-05-17 09:09:27 · 514 阅读 · 0 评论 -
分布式 -- 一致性方案
1概述为什么写这篇文章?首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存。又或者是先删除缓存,再更新数据库,其实大家存在很大的争议。目前没有一篇全面的博客,对这几种方案进行解析。于是博主战战兢兢,顶着被大家喷的风险,写了这篇文章。2正文...转载 2018-06-05 15:41:52 · 186 阅读 · 0 评论 -
分布式--延时任务
1概述在开发中,往往会遇到一些关于延时任务的需求。例如 生成订单30分钟未支付,则自动取消 生成订单60秒后,给用户发短信 对上述的任务,我们给一个专业的名字来形容,那就是延时任务。那么这里就会产生一个问题,这个延时任务和定时任务的区别究竟在哪里呢?一共有如下几点区别 定时任务有明确的触发时间,延时任务没有 定时任务有执行周期,而延时任务在某事件触发后一段时...转载 2018-06-05 17:12:41 · 303 阅读 · 0 评论 -
分布式--消息队列
1概述 博主有两位朋友分别是小A和小B:小A,工作于传统软件行业(某社保局的软件外包公司),每天工作内容就是和产品聊聊需求,改改业务逻辑。再不然就是和运营聊聊天,写几个SQL,生成下报表。又或者接到客服的通知,某某功能故障了,改改数据,然后下班部署上线。每天过的都是这种生活,技术零成长。小B,工作于某国企,虽然能接触到一些中间件技术。然而,他只会订阅/发布消息。通俗点说,就是调调A...转载 2018-06-05 19:23:42 · 212 阅读 · 0 评论 -
中国式微服务技术栈2.0
1概述 近年,Spring Cloud俨然已经成为微服务开发的主流技术栈,在国内开发者社区非常火爆。我近年一直在一线互联网公司(携程,拍拍贷等)开展微服务架构实践,根据我个人的一线实践经验和我平时对Spring Cloud的调研,我认为Spring Cloud技术栈中的有些组件离生产级开发尚有一定距离。比方说Spring Cloud Config和Spring Cloud Sleuth都是...转载 2018-06-05 20:10:04 · 335 阅读 · 0 评论 -
微服务--十个设计要点
微服务生态微服务有哪些要点呢?先看下图是 SpringCloud 的整个生态。设计要点一:API网关 在实施微服务的过程中,不免要面临服务的聚合与拆分,当后端服务的拆分相对比较频繁的时候,作为手机 App 来讲,往往需要一个统一的入口,将不同的请求路由到不同的服务,无论后面如何拆分与聚合,对于手机端来讲都是透明的。有了 API 网关以后,简单的数据聚合可以在网关层完成,...转载 2018-06-21 09:45:21 · 2475 阅读 · 1 评论 -
Artifactory搭建maven私服
1概述在我们的项目开发中通常希望将很多公用的东西提成一个工具工程,然后这个工程可以以maven依赖的形式让其他项目进行添加。这就是以使用Artifactory来建立maven私服。2具体步骤(1)下载Artifactory。下载地址:Artifactory(2)直接解压下载好的zip文件,并且点击...\artifactory-3.9.2\bin目录下的artifactory.bat进行安装,当出...原创 2018-05-30 14:58:38 · 915 阅读 · 0 评论 -
微服务--服务网关
1概述文章主要讲述微服务为什么要有服务网关以及服务网关的一些概念。2什么是服务网关 服务网关 = 路由转发 + 过滤器1、路由转发:接收一切外界请求,转发到后端的微服务上去;2、过滤器:在服务网关中可以完成一系列的横切功能,例如权限校验、限流以及监控等,这些都可以通过过滤器完成(其实路由转发也是通过过滤器实现的)。3为什么需要服务网关 上述所说的横切功能...转载 2018-06-06 19:56:50 · 427 阅读 · 0 评论 -
Nginx 极简教程
目录概述什么是 Nginx?什么是反向代理?安装与使用安装使用nginx 配置实战http 反向代理配置负载均衡配置网站有多个 webapp 的配置https 反向代理配置静态站点配置搭建文件服务器跨域解决方案概述什么是 Nginx?Nginx (engine x)是一款轻量级的 Web 服务器 、反向代理服务器及电子邮件(...转载 2019-05-31 10:45:16 · 232 阅读 · 0 评论