架构

在微服务架构的项目中,使用ueditor出现的问题

倖福魔咒の 提交于 2019-12-18 21:04:41
在微服务架构的项目中,使用ueditor出现的问题 1.ueditor上传图片功能无法使用 2.点击上传图片提示406上传错误 1.ueditor上传图片功能无法使用 在微服务架构的项目中,使用ueditor富文本编辑器第一个问题,上传单图功能无法调起 拒绝执行脚本,因为其MIME类型(‘application / json’)无法执行,并且启用了严格的MIME类型检查。 解决方法 : 给接口添加:@ResponseBody,将接收的响应头修改为 text/javascript @RequestMapping(value = "ueditor", produces = "text/javascript; charset=utf-8") @ResponseBody public Object ueditor(MultipartFile upfile,String action,String callback){ } 至此富文本编辑器后台配置错误提示消失,上传图片接口可以成功调起 ↓ 2.点击上传图片提示406上传错误 以为成功调起上传图片功能,就完事了。突然被同事提醒,上传图片失败。 给代码打断点发现,程序运行正常并且可以返回数据,图片也存在于路径文件夹中。但是前端页面却提示,406找不到可接受的表示形式 上网找了很多方法,思考了很久都没有头绪。 终于抱着试一试的想法

003-主流区块链技术特点及Hyperledger Fabric V1.0版本特点

梦想的初衷 提交于 2019-12-18 20:08:25
一、Hyperledger fabric V1.0 架构 1、逻辑架构:    2、区块链网络    3、运行时架构    二、架构总结 1、架构要点   分拆Peer的功能,将Blockchain的数据维护和共识服务进行分离,共识服务从Peer节点中完全分离出来,独立为Orderer节点提供共识服务; 基于新的架构,实现多通道(channel)的结构,实现了更为灵活的业务适应性(业务隔离、安全性等方面) 支持更强的配置功能和策略管理功能,进一步增强系统的灵活性和适应性; 2、架构目标   1、chaincode信任的灵活性:支持多个ordering服务节点,增强共识的容错能力和对抗orderer作恶的能力   2、 扩展性: 将endorsement和ordering进行分离,实现多通道(实际是分区)结构,增强系统的扩展性;同时也将chaincode执行、ledger、state维护等非常消耗系统性能的任务与共识任务分离,保证了关键任务(ordering)的可靠执行   3、保密性:新架构对于chaincode在数据更新、状态维护等方面提供了新的保密性要求,提高系统的业务、安全方面的能力   4、共识服务的模块化:支持可插拔的共识结构,支持多种共识服务的接入和服务实现 3、重要特征【支持多chain和多channel】 多链chain   所谓的chain(链

杉岩数据:对象存储是企业海量非结构化数据存储的最佳选择

此生再无相见时 提交于 2019-12-18 18:16:53
海量数据的爆炸式增长,使存储技术近五年的发展速度远超过去n年的发展历程。C端用户一个明显的感觉就是:U盘存储容量从过去物以稀为贵的几十M迅速发展到今天几十G、甚至TB级,家用电脑硬盘容量更是TB级标配。 那么,企业级又迎来了怎样的变化? IDC数据显示,到2020年,企业数据总体将达到44ZB,其中80%的数据将会是非结构化数据(图片、视频、归档以及企业级备份等各种数据)。显然,海量数据的产生正在促使企业级存储从需求到产品形态都发生了改变。 “相对于NAS、SAN这种传统企业级存储解决方案,对象存储确实处于一个蓝海市场,它的竞争不那么激烈,而需求的潜力却非常巨大。”一位企业级存储市场人士表示。 存储作为企业数据留存的核心介质,数据的爆发式增长首当其冲会给存储带来巨大的挑战。说到对象存储,对大多数传统企业IT管理者而言依旧是个新名词。 它专为解决非结构化数据而来 众所周知,当前传统企业在存储方面惯常采用三类方式:一是DAS直连存储,类似小柜子一样,通过一根不长的线接到客户端,这类存储容量很有限,使用场景也非常少;二是NAS(网络接入存储),它是以NFS协议,将存储暴露给客户端挂载使用;三是SAN(存储区域网络),它暴露的是块存储,将所谓的硬盘暴露给客户端。 “所有传统企业存储都有一个共同的特征——就是只能垂直扩展。比如一个EMC的存储柜容量不够,只能另买一个存储柜,它在管理

BLE体系架构说明

旧时模样 提交于 2019-12-18 18:09:09
1. 控制器:蓝牙控制器由同时包含了数字和模拟部分射频器件和负责收发数据包的硬件组成。控制器和外界通过天线相连,与主机通过主机控制接口(HCI)相连。 1.1. 物理层(PHY):物理层负责传输和接收电磁辐射,无线电波通常可以在给定的某个频段内通过改变幅度、频率、相位携带信息。在低功耗蓝牙中,采用高斯频移键控(GFSK)的调制方式改变无线电波的频率,传输0或1的信息。频移键控是指把1和0通过轻微升高或者降低信号频率进行编码。调制指示表示围绕信道的中心频率的上下频率之间的宽度。传输无线电信号时,从中心频率出发超过185KHz的正向偏移代表值为1的比特;超过185KHz的负向偏移代表值为0的比特。 1.2. 直接测试模式(DTM):允许测试者让控制器的物理层发送一系列测试数据包或接收一系列数据包。测试者随后可以分析接收到的数据包,或根据接收的数据包数量判断物理层是否遵循RF规范。 1.3. 链路层(LL):链路层是低功耗蓝牙最复杂的部分。它负责广播、扫描、建立和维护连接,以及确保数据包按照正确的方式组织、正确地计算校验值以及加密序列等。为了实现上述功能,定义下列三个基本概念:信道、报文和过程 。 1.4. 主机/控制器接口(HCI):提供主机和控制器的标准接口。HCI实际由两个独立的部分组成:逻辑接口和物理接口;逻辑接口定义命令和事件及其相关的行为

手把手玩转Elasticsearch

限于喜欢 提交于 2019-12-18 14:55:16
大家好,我是一名中间件架构师,负责中间件规划与建设。日常喜欢总结,希望借此机会和大家分享一些个人经验。 一路走来,从Java初级开发、中级开发、基础架构开发、微服务架构,再到中间件架构,提升的不仅仅是个人能力,还有充裕的生活状态。 为什么 上图是个人购买的部分书籍,这些书籍中的百分之六十的内容,本人都没有翻阅过。 为什么没有翻阅呢?一是这些书里的很多内容,我在实际的工作中很少会遇到;二是这些书本的学习需要大量的精细化阅读,而作为加班狗的我,要的是切实立刻解决工作难题! 换位思考,这也是当下很多技术人的学习痛点。阅读书籍只是我们学习技术的一种方式,我们真正需要的是博采众长,多种学习方式一起进行。 讲什么 当我们开始学习一项新的技术时,"in action"往往是能快速拉近我们与它距离的方式。我希望通过51CTO订阅专栏,不仅仅讲解一些名词或者原理,更要教大家"in ation"去践行。 近来,Elasticsearch发展迅猛,每个大版本都会存在巨大差异。在专栏中,我将参阅相关到官方文档,以确保可以在正确到版本中进行正确操作。 Elasticsearch专栏总共划分成四个大的段落,分别为: ✔ 第一部分:初识与实战。给出了概念,让读者理解搜索引擎通常是干什么的,以及Elasticsearch与众不同的特性。介绍了一些交互工具,一起开发了JAVA客户端工程,最后介绍如何用架构思维去看待

Nginx 原理和架构

送分小仙女□ 提交于 2019-12-18 14:44:35
作者出处 Nginx 是一个免费的,开源的,高性能的 HTTP 服务器和反向代理,以及 IMAP / POP3 代理服务器。Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。 Nginx 的整体架构 Nginx 里有一个 master 进程和多个 worker 进程。master 进程并不处理网络请求,主要负责调度工作进程:加载配置、启动工作进程及非停升级。worker 进程负责处理网络请求与响应。 master进程主要用来管理worker进程,具体包括如下4个主要功能: 接收来自外界的信号。 向各worker进程发送信号。 监控woker进程的运行状态。 当woker进程退出后(异常情况下),会自动重新启动新的woker进程。 woker进程主要用来处理基本的网络事件: 多个worker进程之间是对等且相互独立的,他们同等竞争来自客户端的请求。 一个请求,只可能在一个worker进程中处理,一个worker进程,不可能处理其它进程的请求。 worker进程的个数是可以设置的,一般我们会设置与机器cpu核数一致。同时,nginx为了更好的利用多核特性,具有cpu绑定选项,我们可以将某一个进程绑定在某一个核上,这样就不会因为进程的切换带来cache的失效。 Ngnix 是如何实现高性能的? 事件驱动模型 基于异步及非阻塞的事件驱动模型,可以说是 Nginx

现代IM系统中的消息系统架构 - 架构篇

怎甘沉沦 提交于 2019-12-18 14:13:31
前言 IM全称是『Instant Messaging』,中文名是即时通讯。在这个高度信息化的移动互联网时代,生活中IM类产品已经成为必备品,比较有名的如钉钉、微信、QQ等以IM为核心功能的产品。当然目前微信已经成长为一个生态型产品,但其核心功能还是IM。还有一些非以IM系统为核心的应用,最典型的如一些在线游戏、社交应用,IM也是其重要的功能模块。可以说,IM系统已经是任何一个带有社交属性的应用需要具备的基础功能,网络上对于这类系统的设计与实现的讨论也越来越多。 IM系统在互联网初期即存在,其基础技术架构在这十几年的发展中更新迭代多次,从早期的CS、P2P架构,到现在后台已经演变为一个复杂的分布式系统,涉及移动端、网络通信、协议、安全、存储和搜索等技术的方方面面。IM系统中最核心的部分是消息系统,消息系统中最核心的功能是消息的同步、存储和检索: 消息的同步:将消息完整的、快速的从发送方传递到接收方,就是消息的同步。消息同步系统最重要的衡量指标就是消息传递的实时性、完整性以及能支撑的消息规模。从功能上来说,一般至少要支持在线和离线推送,高级的IM系统还支持『多端同步』。 消息的存储:消息存储即消息的持久化保存,传统消息系统通常只能支持消息在接收端的本地存储,数据基本不具备可靠性。现代消息系统能支持消息在服务端的在线存储,功能上对应的就是『消息漫游』

常见的网站架构设计以及总结

谁都会走 提交于 2019-12-18 12:19:00
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 目前网站架构一般分成网页缓存层、负载均衡层、 WEB层和数据库层,我其实一般还会多加一层,即文件服务器层,这样我们在后面的讨论过程中,我们可以依次用这五层对网站架构来进行讨论。 网页缓存层 首先说下这个网页缓存层,比如CDN租赁(效果比公司自己部署Squid/Varnish要好,他们专业,价格低廉,比如快网/CC等(价格80元/M/月不到)而且覆盖的城市更多),自己架设squid/Varnish是次选。另外,很多朋友喜欢尝试自建CDN,这个是一个比较吃力不讨好的活儿,未必能达到预期目标,这块系统架构师在架设网站初期就有规划好,不要等到网站流量及压力巨大时才去规划。事实上,这一层有很多优 秀的开源软件都能胜利,比如传统的Squid Cache,另外,后起之秀Nginx和Varnish因为性能优异,越来越多的朋友尝试在自己的网站使用他们作为自己的网页缓存,事实上,Nginx已经具备Squid所拥有的Web缓存加速功能,此外,Nginx对多核CPU的利用,胜过Squid不少,现在越来越来的架构师都喜欢将Nginx同时作为“负载均衡服务器”与“Web缓存服务器”来使用,大家可以根据自己网站的情况,来决定究竟使用哪种软件来作为自己网站的网页缓存。 负载均衡层 首先说下负载均衡层,我们熟悉的硬件/软件技术有F5,LVS

附录---cpu详解

情到浓时终转凉″ 提交于 2019-12-18 09:57:24
02 附录---cpu详解 一 五大组成单元=>三大核心组件 组成计算机五大单元可以合并成三大核心组件:CPU、IO设备、主存储器 1、控制单元+算数逻辑单元=>CPU 2、主存储器,即主記憶體 3、输入单元Input+输出单元Outpu=>IO设备 插图:三大核心组件 二 cpu工作流程 CPU的核心工作在于进行运算和判断,那么要被运算与判断的数据是从哪里来的? CPU读取的数据都是从主存储器(内存)来的!主存储器内的数据则是从输入单元所传输进来!而CPU处理完毕的数据也必须先写回主存储器中,最后数据才从主存储器传输到输出单元。 所以计算机五大组成部分的基本工作流程就是:输入单元=>主存储器=>CPU=>主存储器=>输出单元 而CPU会从内存中取指令->解码->执行,然后再取指->解码->执行下一条指令,周而复始,直至整个程序被执行完成。 所以总结CPU的大致工作流程就是:取指—>解码—>执行,详细见下图 插图:cpu工作流程详解 三 cpu指令集 cpu是计算机的大脑,大脑里集成了一系列具体控制身体其他器官做事的指令集,所以站在纯硬件角度去看,计算机所有其他组件都由cpu发出的指令控制。 我们程序员编程的目的是为了控制计算机硬件工作,程序员的代码都会转换成cpu的指令集才能去控制其他硬件,所以程序员是通过直接控制cpu来达到间接控制其他硬件的目的,具体流程如下 插图

LAMP网站架构方案解剖

三世轮回 提交于 2019-12-18 09:05:31
LAMP网站架构方案解剖 2011-03-18 10:46 月光 网络转载 字号: T | T 网站架构是比较考研技术的一件事,所以要对一种好用的工具,那么网站架构就会事半功倍,LAMP具有通用、跨平台、高性能、低价格的优势,因此LAMP无论是性能、质量还是价格都是企业搭建网站的首选平台。 AD: 2014WOT全球软件技术峰会北京站 课程视频发布 LAMP 用 LAMP 进行 网站架构 是非常容易的。 对于大流量、大并发量的网站系统架构来说,除了硬件上使用高性能的服务器、负载均衡、CDN等之外,在软件架构上需要重点关注下面几个环节:使用高性能的操作系统(OS)、高性能的网页服务器(Web Server)、高性能的数据库(Databse)、高效率的编程语言等。下面我将从这几点对其一一讨论。 一、操作系统 Linux操作系统有很多个不同的发行版,如Red Hat Enterprise Linux、SUSE Linux Enterprice、Debian、Ubuntu、CentOS等,每一个发行版都有自己的特色,比如RHEL的稳定,Ubuntu的易用,基于稳定性和性能的考虑,操作系统选择CentOS(Community ENTerprise Operating System)是一个理想的方案。 CentOS(Community ENTerprise Operating System