首页
学习
活动
专区
工具
TVP
发布

JAVA高级架构

分享技术,一起学习进步!
专栏作者
243
文章
256049
阅读量
83
订阅数
深入浅出 RPC - 浅出篇
近几年的项目中,服务化和微服务化渐渐成为中大型分布式系统架构的主流方式,而 RPC 在其中扮演着关键的作用。在平时的日常开发中我们都在隐式或显式的使用 RPC,一些刚入行的程序员会感觉 RPC 比较神秘,而一些有多年使用 RPC 经验的程序员虽然使用经验丰富,但有些对其原理也不甚了了。缺乏对原理层面的理解,往往也会造成开发中的一些误用。
Java高级架构
2018-12-10
1K0
微服务架构组件分析
服务描述:服务调用首先解决的问题就是服务如何对外描述。 常用的服务描述方式包括 RESTful API、XML 配置以及 IDL 文件三种。
Java高级架构
2018-11-08
6140
微服务架构组件分析
服务描述:服务调用首先解决的问题就是服务如何对外描述。 常用的服务描述方式包括 RESTful API、XML 配置以及 IDL 文件三种。
Java高级架构
2018-11-08
6140
读书单
一、技术类 1. JAVA、WEB、架构 《分布式Java应用——基础与实践》 《深入分析Java Web技术内幕》 《大型网站系统与Java中间件实践》 《分布式服务框架原理与实践》 《Java并发编程实战》 《Java7 并发编程实战手册》 《淘宝技术这十年》 《大话设计模式》 《构建高性能Web站点》 《Spring Boot揭秘(快速构建微服务体系)》 《Spring Boot实战》 《Spring Cloud微服务实战 》 《深入理解Java 虚拟机》 《Spring 2.x企业应用开发详解》 《
Java高级架构
2018-10-22
5740
一文读懂:完整的支付系统整体架构!
在不同的公司由于接入渠道和应用的差异,对支付产品分类略有不同。综合支付场景和流程,支付产品可以分为如下几类:
Java高级架构
2018-08-16
9490
开发十年,就只剩下这套Java开发体系了
以前我一直被公司和技术牵着走,并不是自己在选择技术,而是不自觉地被推到了这个位置上。想想有多少人对于自己将来要从事的职业和技术类型进行过深入思考和比较呢?当我跳出编码后,我开始思考和程序及程序员职业生涯相关的问题,最后发现,影响我们走入今天的困局的竟然是一些我们常常挂在嘴边的话。
Java高级架构
2018-08-03
3360
微服务介绍
形像一点来说,微服务架构就像搭积木,每个微服务都是一个零件,并使用这些零件组装出不同的形状。通俗来说,微服务架构就是把一个大系统按业务功能分解成多个职责单一的小系统,并利用简单的方法使多个小系统相互协作,组合成一个大系统。 如果学科派一点,微服务架构就是把因相同原因而变化的功能聚合到一起,而把因不同原因而变化的功能分离开,并利用轻量化机制(通常为 HTTP RESTful API)实现通信。
Java高级架构
2018-08-03
3980
微服务介绍
形像一点来说,微服务架构就像搭积木,每个微服务都是一个零件,并使用这些零件组装出不同的形状。通俗来说,微服务架构就是把一个大系统按业务功能分解成多个职责单一的小系统,并利用简单的方法使多个小系统相互协作,组合成一个大系统。 如果学科派一点,微服务架构就是把因相同原因而变化的功能聚合到一起,而把因不同原因而变化的功能分离开,并利用轻量化机制(通常为 HTTP RESTful API)实现通信。
Java高级架构
2018-08-03
3980
SOA与微服务
微服务是一种应用架构模式,而 RPC 是一种远程调用方式,它们是不一样的概念;而在微服务中会出现服务之间的调用,为了确保性能,我们一般采用 RPC 来调用。
Java高级架构
2018-08-03
8340
SOA与微服务
微服务是一种应用架构模式,而 RPC 是一种远程调用方式,它们是不一样的概念;而在微服务中会出现服务之间的调用,为了确保性能,我们一般采用 RPC 来调用。
Java高级架构
2018-08-03
8340
一篇文章了解RPC框架原理
1.RPC框架的概念 RPC(Remote Procedure Call)–远程过程调用,通过网络通信调用不同的服务,共同支撑一个软件系统,微服务实现的基石技术。使用RPC可以解耦系统,方便维护,同时
Java高级架构
2018-07-20
4100
编程是枯燥的,除非……
作为一个开发者,我干同一份工作的时间不会超过两年。 每一份新工作都是一次职业的飞跃,而且在我们这个行业中,高频跳槽本来就很常见。但是我前任,前前任,前前前任,前前前…任雇主对于我的辞职并不开心。有些甚至试图挽留我,但是我已经厌倦了,我真心无法继续留下来了。 (免责声明:我很幸运地生活在程序员供不应求的地方,不过后来我发现换工作并不总是一个很好的选择!)。 我现在是Enki的联合创始人和CTO。我负责工程文化。我的部分工作是要确保我们的开发人员永远不会像我过去那样觉得工作无聊枯燥。 在我的团队的共同努力下,我
Java高级架构
2018-04-19
5880
编程是枯燥的,除非……
作为一个开发者,我干同一份工作的时间不会超过两年。 每一份新工作都是一次职业的飞跃,而且在我们这个行业中,高频跳槽本来就很常见。但是我前任,前前任,前前前任,前前前…任雇主对于我的辞职并不开心。有些甚至试图挽留我,但是我已经厌倦了,我真心无法继续留下来了。 (免责声明:我很幸运地生活在程序员供不应求的地方,不过后来我发现换工作并不总是一个很好的选择!)。 我现在是Enki的联合创始人和CTO。我负责工程文化。我的部分工作是要确保我们的开发人员永远不会像我过去那样觉得工作无聊枯燥。 在我的团队的共同努力下,我
Java高级架构
2018-04-19
5880
多研究些架构,少谈些主义(4)-- 架构师是技术的使用者而不是信徒
架构师是技术的使用者而不是信徒 我承认我是标题党, 为什么要写这篇充满争议的文章?目前架构师这个职位特别火热,程序员的目标都是成为一个令人尊敬的架构师。但是我们真的理解架构师应该做些什么?很多人把架构师和框架师等同起来,认为研究框架多的才是架构师 下面说的情况请勿对号入座。 盲目的追新: 技术人员的喜好往往是什么技术流行就追什么技术。现在的技术发展快,前后端不断涌现各种框架,我们恨不得把这些框架都用在自己的项目里才行,要不然怎么好意思和别人打招呼啊。 我亲身经历,有个技术人员一定要把原来单元测试框架的xml
Java高级架构
2018-04-19
7750
多研究些架构,少谈些框架(3)-- 微服务和事件驱动
接上篇,我们采用了领域驱动的开发方式,使用了充血模型,享受了他的好处,但是也不得不面对他带来的弊端。这个弊端在分布式的微服务架构下面又被放大。 事务一致性 事务一致性的问题在Monolithic下面不是大问题,在微服务下面却是很致命,我们回顾一下所谓的ACID原则 Atomicity - 原子性,改变数据状态要么是一起完成,要么一起失败 Consistency - 一致性,数据的状态是完整一致的 Isolation - 隔离线,即使有并发事务,互相之间也不影响 Durability - 持久性, 一旦事务提
Java高级架构
2018-04-19
1.1K0
多研究些架构,少谈些框架(2)-- 微服务和充血模型
上篇我们聊了微服务的DDD之间的关系,很多人还是觉得很虚幻,DDD那么复杂的理论,聚合根、值对象、事件溯源,到底我们该怎么入手呢? 实际上DDD和面向对象设计、设计模式等等理论有千丝万缕的联系,如果不熟悉OOA、OOD,DDD也是使用不好的。不过学习这些OO理论的时候,大家往往感觉到无用武之地,因为大部分的Java程序员开发生涯是从学习J2EE经典的分层理论开始的(Action、Service、Dao),在这种分层理论中,我们基本没有啥机会使用那些所谓的“行为型”的设计模式,这里的核心原因,就是J2EE经典
Java高级架构
2018-04-19
1K0
为什么微服务实施那么难?如何高效推进微服务架构演进
前言 笔者从 2013 年加入 ThoughtWorks 至今共 4年时间。在这 4 年的时间里,我分别以 开发人员, DevOps 工程师、DevOps 咨询师、微服务架构师以及微服务咨询师的角色参与了共计 7 个产品和项目的微服务咨询和实施。其中有有成功,有失败,有反思,更多的是学习和总结。以下是我这些年来在微服务咨询上的经验总结,希望能给陷入微服务实施困境的人带来一些帮助。 难点1:“一步到位”的认知错觉 这些年微服务大红大紫,但是真正能够拿出来做为可实践的案例少之又少。大部分的微服务案例只能看到微
Java高级架构
2018-04-19
9690
微服务架构选型实践
背景 随着公司一年多的成长,我们已经开发了数十个项目了,后台有 JAVA 的有 PHP 的,为了更好地提升开发与管理效率,各技术大牛小牛们时常进行激烈的 PK,碰撞出了许许多多爱的火花,比如其中之一:
Java高级架构
2018-04-19
1.1K0
微服务架构选型实践
背景 随着公司一年多的成长,我们已经开发了数十个项目了,后台有 JAVA 的有 PHP 的,为了更好地提升开发与管理效率,各技术大牛小牛们时常进行激烈的 PK,碰撞出了许许多多爱的火花,比如其中之一:
Java高级架构
2018-04-19
1.1K0
微服务和传统服务架构
单块架构应用:功能集中,代码和数据中心化,一个发布包部署后运行在同一个进程中的应用程序 单块架构的优势: 1)易于开发 2)易于测试 3)易于部署 4)易于水平伸缩(所有的功能都会打成一个包,在集群中新建一个节点,配置好节点的运行环境,复制软件包到响应的位置,保证负载均衡的分发策略有效分发到当前节点即可) 面临的挑战: 1)维护成本增加,代码量过大,不利于快速定位问题 2)持续交付周期长:构建 部署和测试的实际都会随着代码量的增加而成倍的增长 3)新人培养周期长:业务熟悉和环境部署都会有很大的难度 4)技术
Java高级架构
2018-04-19
8000
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档