架构
晓宇码匠
尽信书,不如无书
展开
-
通讯协议与即时通讯
推送服务一般有三种实现方式:1.轮询方式客户端不断的查询服务器,检索新内容。这种方式的缺点十分明显,如果轮询频率过快,会大量消耗网络带宽和电池;2.长连接方式客户端和服务端维持一条TCP/IP长连接,服务端向客户端push数据。这种方式可以避免轮询方式带来的性能问题,但是长连接依然会带来耗能问题。目前苹果的APNS和谷歌的GCM都是基于此方案来实现推送服务的;3.SMS方式当服务端有新...原创 2019-12-30 17:15:39 · 1115 阅读 · 0 评论 -
高效开发
1.产品经理的工作:能通过市场分析,数据分析发现潜在的市场需求、用户需求,有能力将需求转化为可落地的方案,并组建团队将需求实现的人。解决问题和解决人:将现有方案执行到位,提出方案并执行到位,持续学习,方向性探索,说服别人支持并如期落实你的方案,保持团队的战斗力。2.如何完成项目落地需求阶段:想法,市场分析调研,需求整理,版本规划设计阶段:业务流程,信息架构,优化,交互设计,高保真研发阶...原创 2019-06-29 12:08:49 · 313 阅读 · 0 评论 -
互联网后端基础技术
使用Java后端技术的目的就是构建业务应用,为用户提供在线或者离线服务。因此,一个业务应用需要哪些技术、依赖哪些基础设施就决定了需要掌握的后端技术有哪些。纵观整个互联网技术体系再结合公司的目前状况,笔者认为必不可少或者非常关键的后端基础技术/设施如下图所示:这里的后端基础设施主要指的是应用在线上稳定运行需要依赖的关键组件或者服务。开发或者搭建好以上的后端基础设施,一般情况下是能够支撑很长一段时间...原创 2019-07-05 21:32:57 · 7618 阅读 · 0 评论 -
ELK日志原理与介绍
为什么用到ELK:一般我们需要进行日志分析场景:直接在日志文件中 grep、awk 就可以获得自己想要的信息。但在规模较大的场景中,此方法效率低下,面临问题包括日志量太大如何归档、文本搜索太慢怎么办、如何多维度查询。需要集中化的日志管理,所有服务器上的日志收集汇总。常见解决思路是建立集中式日志收集系统,将所有节点上的日志统一收集,管理,访问。一般大型系统是一个分布式部署的架构,不同的服务模块部...原创 2019-07-05 21:58:26 · 1595 阅读 · 0 评论 -
微服务架构介绍与分类
微服务是面向服务架构(SOA)的变体,使用各种相互依赖的模块来标识它们之间的相互关系,并可衡量每个模块之间的松耦合程度。基于微服务的架构主要关注:自然地强制执行模块化结构。适用于持续交付软件开发过程。 对应用程序的一小部分进行更改只需要重建和重新部署一个或少量服务坚持诸如此类的原则 细粒度接口(可独立部署的服务)业务驱动的开发(例如域驱动设计)云应用程序架构多语言编程和持久性轻...原创 2019-07-05 22:23:04 · 1998 阅读 · 0 评论 -
SOA、SOAP、RPC、REST、DUBBO的区别与联系
SOASOA(面向服务的软件架构、Service Oriented Architecture),是一种软件设计模式,主要应用于不同应用组件之间通过某种协议来互操作。例如典型的 通信网络协议。因此SOA是独立于任何厂商、产品、技术的。SOA有两个层面的定义:从应用的角度定义:SOA是一种应用框架,它着眼于日常的业务应用,并将他们划分为单独的业务功能和流程,及所谓的服务。从软件的基本原理定义...原创 2019-07-05 22:30:12 · 864 阅读 · 0 评论 -
消息中间件
CAP 定理介绍CAP原则又称CAP定理,指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可得兼。一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有节点访问同一份最新的数据副本)可用性(A):在集群中一部分节点故障后,集群整体是否还能响应客户端的读写...原创 2019-07-05 23:27:30 · 465 阅读 · 0 评论 -
服务治理
比较成熟的解决方案如下:名称所属公司是否开源资料文档备注Dubbo阿里巴巴是多HSF阿里巴巴否中目前已作为阿里云产品EDAS其中的套件开放使用Tars腾讯是中已作为腾讯云应用框架对外提供使用JSF京东否少LinkerdCNCF是少原型是Twitter所构建的一个基于scala的可扩展RPC系统Finagle...原创 2019-07-06 23:21:09 · 2875 阅读 · 0 评论 -
互联网架构演变
一体架构在计算机软件发展早期,一般桌面软件都是采用这种架构,不管是界面还是业务处理还是数据处理都放到一个包中。这种其实谈不上架构,但也可以说是很好的架构,因为它足够简单。mvc架构但随着浏览器的出现便产生了web应用,web应用的特点是界面部分是显示在浏览器中,服务处理是在服务容器中的,页面显示一般用css+js+html技术来处理,而后端可以用java、php等语言,这就产生了前后端分离。...原创 2019-07-06 23:26:28 · 161 阅读 · 0 评论 -
蓝湖+Vue.js+SosoApi+Spring Cloud+Rancher——项目架构总结介绍
1、架构设计图1.1、系统架构特点微服务设计、前后端分离、高可用、易扩展、易维护、统一配置、令牌限流、服务熔断、链路追踪、docker容器部署、rancher容器管理、自动化运维1.2、系统架构图1.3、总设计思维图1.4、后端架构图2、产品UI——蓝湖2.1、简介蓝湖是一款优秀的产品设计写作平台,实现了一张画板展示页面跳转逻辑、设计图历史版本管理、打点评论、自动标注、制作...原创 2019-08-29 20:55:54 · 1745 阅读 · 0 评论 -
JAVA框架和技术
Web应用,最常见的研发语言是Java和PHP。后端服务,最常见的研发语言是Java和C/C++。大数据,最常见的研发语言是Java和Python。可以说,Java是现阶段中国互联网公司中,覆盖度最广的研发语言,掌握了Java技术体系,不管在成熟的大公司,快速发展的公司,还是创业阶段的公司,都能有立足之地。一:常见模式与工具学习Java技术体系,设计模式,流行的框架与组件是必不可少的:...原创 2019-07-09 22:30:25 · 501 阅读 · 0 评论 -
java 各种架构图汇总
java 类加载器架构2. JVM 架构Java 技术体系线程运行架构 Java 体系(编译与运行)结构JMS 技术架构7. JMX 技术架构Spring 架构9. Hibernate 架构ibatis 架构Struts2 架构Struts1 架构JBPMEJB 技术架构 PortalJ2EES...原创 2019-07-09 22:06:27 · 50195 阅读 · 3 评论 -
软件架构介绍
一、软件架构是个什么概念,架构的定义:1.软件架构是一个系统的草图。2.软件架构描述的对象是直接构成系统的抽象组件。3.各个组件之间的连接则明确和相对细致地描述组件之间的通讯。4.在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。5.在面向对象领域中,组件之间的连接通常用接口来实现。二、架构师有细分,基本上可以分为三类:系统架构师:服务器负载,可靠性,伸缩,扩展,...原创 2019-06-18 21:16:16 · 18954 阅读 · 1 评论 -
web网络基础
简介 生活中,上班族每天需乘坐地铁或公交去公司工作,此过程中交通工具作为载体负责完成从家到公司的传输,如图3.1所示。与之对应,Web是以Internet(互联网)为载体负责完成数据的传输。从家到公司图 注意:本书所讲的Web编程是指基于Internet网络的应用编程。网络基础与TCP/IP协议网络基础概述网络学习的核心就是网络协议(计算机网络中进行数据交换而建立的规则、标准...原创 2019-06-21 23:26:44 · 1014 阅读 · 0 评论 -
前端常见跨域解决方案
什么是跨域?跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的。广义的跨域:1.) 资源跳转: A链接、重定向、表单提交2.) 资源嵌入: 、其实我们通常所说的跨域是狭义的,是由浏览器同源策略限制的一类请求场景。什么是同源策略?同源策略/SOP(Same origin policy)是一种约定,由Netscape公司1995年引入浏览器,它是浏览器最核心也最基本的...原创 2019-06-22 21:25:15 · 289 阅读 · 0 评论 -
java后端解决跨域问题
1.java过滤器过滤允许整个项目跨域访问,可通过filter来进行过虑:public class SimpleCORSFilter implements Filter{ @Override public void destroy() { } @Override public void doFilte...原创 2019-06-22 21:35:35 · 91623 阅读 · 21 评论 -
高并发高可用高性能的解决方案汇总整理
难题与方案1、亿级流量电商网站的商品详情页系统架构面临难题:对于每天上亿流量,拥有上亿页面的大型电商网站来说,能够支撑高并发访问,同时能够秒级让最新模板生效的商品详情页系统的架构是如何设计的?解决方案:异步多级缓存架构+nginx本地化缓存+动态模板渲染的架构2、redis企业级集群架构面临难题:如何让redis集群支撑几十万QPS高并发+99.99%高可用+TB级海量数据+企业级数据备...原创 2019-06-22 21:48:52 · 15327 阅读 · 2 评论 -
多种前端框架的优缺点
Web前端目前现有的UI框架:Element、Bootstrap、JqueryUi、Foundation、Semantic UI、Pure、UIkitWeb前端目前现有的JS框架:JQuery、Zepto、VueJS、AngularJS、ReactJS、backbone 、ember一、JQuery优点:1、轻量级:大小只有18KB。 2、强大的选择器:JQuer...原创 2019-07-02 12:20:31 · 3612 阅读 · 0 评论 -
WEB各种环境以及注意事项
环境介绍在java web项目开发中,经常会编写一些sql语句,如创建表,修改表字段,历史数据迁移,编写触发器,存储过程的操作,这些操作一般都是会使用直接编写sql.在开发过程中,一般web环境会分成本地环境,开发环境,测试环境,演练环境与生产环境.这里我先就每个环境说明一下:本地环境:指的就是自己开发的机器所搭建出来的环境,这个环境对每个开发者来说都是唯一的,所以这个环境一般是编写代码,调...原创 2019-07-03 01:18:41 · 3847 阅读 · 0 评论 -
产品产生过程
一、需求分析:相关系统分析员向用户初步了解需求,然后用相关的工具软件列出要开发的系统的大功能模块,每个大功能模块有哪些小功能模块,对于有些需求比较明确相关的界面时,在这一步里面可以初步定义好少量的界面。系统分析员深入了解和分析需求,根据自己的经验和需求用WORD或相关的工具再做出一份文档系统的功能需求文档。这次的文档会清楚列出系统大致的大功能模块,大功能模块有哪些小功能模块,并且还列出相关的...原创 2019-06-27 23:33:11 · 2114 阅读 · 0 评论 -
简单Web应用框架设计
客户端(Client)、请求处理(Router)、业务处理(Controller)、外部调用(eAPI)、视图引擎(View)、服务引擎(Service)、数据持久(DAO)和数据库文件系统。原创 2019-05-21 11:02:11 · 2077 阅读 · 0 评论