在今年的敏捷团队建设中,我通过Suite执行器实现了一键自动化单元测试。Juint除了Suite执行器还有哪些执行器呢?由此我的Runner探索之旅开始了!
平台初心 微服务组件平台是承载京东集团所有业务的服务调用、消息通知的底层架构平台、运维管理平台、知识分享平台、沟通协作平台和服务评价及诊断平台。 底层架构平台由JSFRPC调用、JMQ消息服务及服务网格这三大基础通信技术构成,既能完成同步调用,又能完成异步消息通知,或者两者混合进行,兼容各种流行通信协议,并且支持跨语言,适用于各种线上及线下应用场景,满足了业务各式各样的通信要求,多年来包揽了集团几乎所有后台业务系统的通信流量,确保了集团各项业务的高效、平稳进行。 随着集团对外赋能及组件化积木理论的提出,仅
我所在的部门是技术中台,主要负责toB业务,上游是业务条线,包括PC、APP、小程序等终端,这些端的后台是HTTP接口层,而在HTTP接口层之下,就是技术中台的RPC接口层。
Tech 导读 文章主要介绍了UData系统的设计理念,描述了该系统的查询引擎基于StarRocks在联邦查询方面做了哪些增强,从而使一条ES外表的联邦聚合关联查询性能提升数倍。通过本文,读者可以了解SQL语句在MPP查询引擎上的基本执行流程,并可以基于此考虑如何对于这一过程进行优化和改造。
Tech 导读 大报文问题,在京东物流内较少出现,但每次出现往往是大事故,甚至导致上下游多个系统故障。大报文的背后,是不同商家业务体量不同,特别是B端业务的采购及销售出库单,一些头部商家对京东系统支持业务复杂度及容量能力的要求越来越高。因此有必要把这个问题重视起来,从组织上根本上解决。
京东微服务组件平台,是承载着京东集团所有业务的服务调用、消息通知的底层架构平台、运维管理平台、知识分享平台、沟通协作平台和服务评价及诊断平台。 本文邀请京东微服务组件平台技术专家,为大家深度解析微服务组件平台。 首先,底层架构平台由JSFRPC调用、JMQ消息服务及服务网格这三大基础通信技术构成,既能完成同步调用,又能完成异步消息通知,或者两者混合进行。 兼容各种流行通信协议,并且支持跨语言,适用于各种线上及线下应用场景,满足了业务各式各样的通信要求,多年来包揽了集团几乎所有后台业务系统的通信流量,确保了集
Tech 导读 企业前台包含了企业业务大部分的对外前台系统,其中京东VOP平台(开放平台)适合于自建内网采购商城平台的企业客户。京东为这类客户专门开发API接口,对接到客户内网的网上商城,将产品SKU直接推送到客户内网,客户内部采购人员可以直接在内网商城进行下单采购,订单信息通过API接口传递到京东后台,由京东安排物流配送服务。VOP模式下,客户内网的数据信息京东并不抓取,从而实现内部采购架构的独立搭建及数据的保密与安全。 随着业务的不断发展过程中,VOP截至目前已经服务于上千家企业SaaS商城,其API接口的高并发、高可用、高可靠也就越发的重要。尽管上线时尽可能的降低对接口的波动,整个上线流程中无损下线是没问题(NP层冷备机器直至无流量打进来,JSF层下线JSF服务),但是(自身&服务提供方)上线的瞬时波动或多或少会引起系统的一阵报警,每一次性能或者可用率的报警都可能带来客诉。 JSF1.7.6对于预热策略动态下发特性的升级公告吸引了作者,所以本文也将从JSF1.7.6预热的实践测试报告中,真实的讲述预热给前台带来的体验和帮助,希望对读者有参考作用。
分层自动化测试是最近曝光度比较高的概念,传统的自动化测试更关注的是UI层的自动化测试,而分层自动化测试则倡导产品的不同层次都要进行自动化测试。
声明:主要内容来自公司内部 对业界的调研,不一定恰当、准确、实时。 表格文字较多,APP阅读体验较差 团队 服务相关组件\方案 通信框架 监控 负载均衡\路由 是否开源 腾讯 完全自研;BG内部自治,每个BG有自己相应的解决方案,单独演进; 包括:服务注册路由中心;流量定义ABTesting方案;日志分布式收集;配置中心等没有公司级的服务治理组织去统一 各个BG也不一样技术工程TEG\原搜索:自定义二进制协议编解码,或Protocol Buffer(以下简称PB)进行序列化\反序列化,自研服务容器、
对于单元测试中的单元,不同的人有不同的看法:可以理解为一个方法,可以理解为一个完整的接口实现,也可以理解为一个完整的功能模块或者是多个功能模块的一个耦合。
Tech 导读 JSF作为京东内部日常最常用的RPC组件,通过JSF扩展,为大家提供JSF扩展思路及本地联调实践。 01 背景 在项目开发中,研发同学会经历下面的过程: 图1 研发日常开发周期 但是针对团队的测试环境,涉及到几个痛点: 多人联调使用时尤其是跨部门联调时,强依赖环境稳定,频繁启停发布或者由于某些原因没有启动成功,影响的不是一个人的,而是多方的 jsf接口逻辑较多,联调环节存在隐晦的bug时,大部分做法是打点日志重启再次调用排查,如果没有发现问题,继续反复加日志重启排查。这样的过程是苦恼且费
JSF 2.X因为种种原因(我个人觉得主要是因为推出太晚),再加上EJB2之前的设计过于复杂,引起很多开发人员对官方解决方案的反感,即使EJB3后来做了大量改进,国内也很少有人对EJB3感兴趣,目前国内主流开发架构大多采用SSH,很少有JSF 2.x + EJB 3.x的应用,但从我个人感觉来看,特别是对于从.NET转型到JAVA的web程序员而言,JSF中的很多概念其实跟.NET很接近,国外已经有越来越多的项目在采用JSF + EJB3做为技术选型,下面将详细介绍JSF的开发环境搭建.
0x01 应用测试 对于类似4A、BOP这样的应用,需要进行记录,并按照常规的渗透办法进行安全测试。【必要时候,需要进行登录测试】 其他应用测试 发现办法 协议+IP+端口,协议+ip+端口+路径 常见路径如下,可以自行扩充: /admin /console /login.jsf /login.jsp /admin/login.jsf /admin/login.jsp /index.html /index.jsp /index.jsf /login.do /login.action 案例一:加console
从目录出发,整个源代码分为 servlet、http、descriptor、annotation 四个部分。
Tech 导读 截至目前(2023年),Java8发布至今已有9年,2018年9月25日,Oracle发布了Java11,这是Java8之后的首个LTS版本。那么从JDK8到JDK11,到底带来了哪些特性呢?值得升级吗?而且升级过程会遇到哪些问题呢?带着这些问题,本篇文章将带来完整的JDK8升级JDK11最全实践。
方向不对努力白费,Java技术的学习并不是一蹴而就的,正确的学习方向能让你事半功倍,如果你想在自己的Java学习之初就了解学Java又好又快的方法,那么这篇文章就是为你准备的。 1Java SE部分 1、java基础:基础语法;面向对象(重点);集合框架(重点);常见类库API; 2、java界面编程:AWT;事件机制;Swing; 3、java高级知识:Annotation;IO和NIO、AIO;多线程、线程池;阻塞、非阻塞、异步网络通信;反射、动态代理; 2JDBC编程 4、SQL基础:基础SQL语句;
Swing 算是 Java 早期代替 AWT 的桌面应用 GUI 开发工具包,一个听到就已经淘汰的技术,给我的感觉就是丑丑丑!现在与 AWT 一起在时间这个长河里长眠。
Tech 导读 本文介绍了一种基于线上流量实现对重构系统进行功能和性能验证的实践方案。针对线上流量如何拦截、如何录制、如何存储、如何回放以及如何发压均作了详细说明,为具有类似需求的读者提供了一种可供参考的思路。 01 业务背景 在今年的敏捷团队建设中,我通过Suite执行器实现了一键自动化单元测试。Juint除了Suite执行器还有哪些执行器呢?由此我的Runner探索之旅开始了! 随着百川项目的启动,中台需要对订单流量收口,将ECLP、各BP的接单入口全部切换至百川统一接单系统。且各个接
曾经迷惘过,一直想知道java的具体学习路线,看过了许许多多的java经验分享的帖子,评论,以及其他各种培训机构所谓的学习路线,发现没有一个符合我个人需求的学习路线,根据个人实际的经历,结合多种书籍(其中个人觉得“疯狂java讲义”这本书写的特别好,所以大部分是根据这本书整理的),特别整理出了下面的java学习路线,跟大家分享,觉得好的话,希望大家多多指点,下面进入主题: 一、Java SE部分
上一节学习了注入Bean的生命周期,今天再来看看另一个话题: Bean的生产(@Produces)及销毁(@Disposes),这有点象设计模式中的工厂模式。在正式学习这个之前,先来看一个场景: 基于web的db应用开发中,经常要在一个页面上连接db,然后干点啥,最后关闭连接。下面用之前二节前到的CDI技能来演练一下: 1、先建一个Connection的接口 1 package conn; 2 3 public interface Connection { 4 5 void c
在日常工作中,不同的场合下,我们可能听说过很多次网关这个名称,这里说的网关特指API网关(API Gataway)。字面意思是指将所有API的调用统一接入API网关层,由网关层负责接入和输出。
Eclipse作为开发Java的IDE,从出现到现在已经有几年的时间了,其丰富的特性,操作容易和在提高生产力方面收到了广大开发者的青睐。当然一提到Java IDE,人们不禁会提到其他Java IDE像NetBeans、IntelliJ等,那么这些Java IDE之间到底存在着哪些异同呢?
在上一节中,我们已经知道了如何用@Inject实现基本注入,这一节研究Bean实例注入后的“生命周期”,web application中有几种基本的生命周期(不管哪种编程语言都类似) 1、Application 生命周期 即:web application启动后,处于该生命周期级别的对象/变量,将一直存在,可以被所有web应用的用户共同访问,通常用来做网站计数器,实现流量访问之类。直到web 应用停止或重新启动,该对象才被销毁。简单来说:只要web application处于激活状态,不论你换什么浏览器,不
JBOSS AS服务器默认使用的JSF实现是SUN的RI,要把他替换成Myfaces需要:
1. MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架,其主要就完成2件事情:
1)集合类:List和Set比较,各自的子类比较(ArrayList,Vector,LinkedList;HashSet,TreeSet);
Java EE 5.0明显比它之前的版本都更容易使用,也更加强大。与Web应用程序开发人员最相关的Java EE 5.0平台的两种规范是JSF和EJB 3.0。
1)集合类:List和Set比较,各自的子类比较(ArrayList,Vector,LinkedList;HashSet,TreeSet);
“框架”犹如滔滔江水连绵不绝, 知道有它就好,先掌握自己工作和主流的框架; 在研究好用和新框架。 主流框架教程分享在Java帮帮-免费资源网 其他教程需要时间制作,会陆续分享!!! 152款框架,你还知道其他的吗? 留言你用过的web框架 Java开源web框架汇总 1 Struts2 Struts2是一个web应用框架。它不是一个Struts的新的发布版本,而是一个全新的框架。Struts2 是第二代基于Model-View-Controller (MVC)模型的web应用框架。 Struts2是java
技术文章第一时间送达! 本文作者是CyanQueen,欢迎点击阅读原文 一.基础知识: 1)集合类:List和Set比较,各自的子类比较(ArrayList,Vector,LinkedList;HashSet,TreeSet); 2)HashMap的底层实现,之后会问ConcurrentHashMap的底层实现; 3)如何实现HashMap顺序存储:可以参考LinkedHashMap的底层实现; 4)HashTable和ConcurrentHashMap的区别; 5)String,StringBuffer和
Tech 导读 本文主要介绍在业务复杂化背景下,京东零售购物车团队努力践行工匠精神,通过全异步化改造提升系统性能、提升用户体验。通过本文,读者可以了解购物车中台进行全异步化改造的总体方案,以及方案落地过程中遇到的问题及解决方法,读者可重点关注文中提到的多分页并行后,分页精细控制及底层RPC异常信息问题。
BO是用来处理业务用的实体,业务层的入参和出参都是BO,整个业务都是围绕BO来处理
json格式对应python里面的字典,可以通过json模块很方便保存处理,下面的代码用来抛砖引玉。。
版权说明:本文书写过程中参照了红帽的技术文档;本系列文章中的部分测试代码为红帽公司版权所有,因此不能提供源码文件。
Tech 导读 本文面向受众可以是运营,可以是产品,也可以是研发、测试人员,希望通过如下思路(知历史->清家底->明目标->定战略->做战术->促成长)帮助大家了解电商大促系统的高可用保障,减少那些高深莫测的黑话和高大尚的论调,而希望以体系化的知识让读者有所得。
1:由于日志查询问题,没看到日志之前怀疑:MYSQL数据库字段长度是否真的足够,排查问题未果。
Tech 导读 现代的企业级或互联网系统往往需要进行流量规划,达成透明多级分流。流量从客户端发出到服务端处理这个过程里,流经的与功能无关的技术部件有(达成“透明分流”这个目标所采用的工具与手段):客户端缓存、域名服务器、传输链路、内容分发网络、负载均衡器、服务端缓存。透明分流带来的价值:高可用架构、高并发。本文主要介绍流量规划中的网络请求过程及: 第一部分:对一次网络请求的过程作简要介绍,然后介绍目前了解到的前端网络组件搭配方式、后端网络组件搭配方式 第二部分:介绍LB负载系统 、vip与rip 的映射关系 第三部分:介绍内网域名解析及公网域名解析
前面几节学习到的CDI内容,基本上都是hard-code,以硬编码的方式在代码里指定注入类型,这并非依赖注入的本意,依赖注入的优势之一在于“解耦”,这一节我们将学习如何利用配置来动态注入的类型及属性初始化。 一、@Alternative/@Default/@Any 当一个服务接口(也称契约)有多个实现时,可以在代码里指定一个缺省的实现类型(即:标注成@Default或@Any),其它实现类标注成@Alternative,以后如果需要动态切换实现类,只要在webapp/WEB-INF/beans.xml中配置
做java开发的肯定清楚spring中的核心思想ioc和aop,ioc即控制反转的意思,di的核心思想和ioc一样,描述的也是同一个事情同一个思想,只是di的依赖注入更容易被理解了,aop即面向切面,如注解事务功能,就是基于aop的思想来实现的。Quarkus中也实现了一套非标准的cdi规范,下面就来看看Quarkus中的di和aop相关内容。
我们新建Maven选择框架的时候,面临许多选择,那么现在就让我们来看看,这些框架都是什么含义。
在Java Web的开发中,我们大都执行着三层的开发模式(Controller、Service、Dao)。然后很少有人知道这三层的职责便捷在哪? 所以不乏经常遇到这样的问题:我这块逻辑该写在哪呢?我相信大多数初、中甚至高级程序员也分不太清楚,逻辑分层有点信手拈来,所以最终写成了后辈们眼中的“屎”,哈哈当然代码组织结构不是本文讨论的范畴~~~
Tech 导读 在系统开发和运维过程中,异常堆栈信息是解决线上问题的关键之一。然而,有时候异常堆栈信息可能会消失,带来严重的麻烦。本文将介绍消失的异常堆栈的原因,即JIT编译器对异常进行的优化,以及如何快速定位问题。此外,还将讨论异常优化机制Fast Throw的使用条件和性能影响。通过一个实际案例,将详细阐述如何通过追溯日志和分析系统指标来定位问题的根因。无论是在大促期间还是平时运维中,追本溯源并解决问题的能力都是非常关键的。阅读本文,您将对异常堆栈消失问题有更深入的了解,并掌握解决问题的方法和技巧。
Tech 导读 随着Java开发者社区对Spring框架的深入使用,我们越来越认识到在大型应用中,启动速度和性能优化的重要性。本文将深入探讨如何通过专业分析和优化技术,显著提升Spring应用程序的启动速度和运行性能,解决了开发过程中的效率瓶颈和线上服务的快速扩容需求。
Java一度被称为是应用最广泛的编程语言。尤其在Java web方面,Java作为后台服务器开发语言,尤其是它跨平台一次编译随处运行的特性,更是受到不少企业和工程师们的爱戴。作为应用开发的主要语言,Java也需要借助其他很多优秀的框架,来实现系统或程序的完整性。针对不同的业务场景,选择合适的框架,是每一个架构师和工程师在开发一项软件之前,必须首先要考虑的事情。随着时代的进步和科技的发展,Java技术框架也在日新月异的进化。
作者:王新栋 目前就职于京东,一直从事京麦平台的架构设计与开发工作,熟悉各种开源软件架构。在web开发,架构优化上有较丰富实战经历。有多年在NIO领域的设计、开发经验,对HTTP、TCP长连接技术有深入研究与领悟,目前主要致力于移动与PC平台网关技术的优化与实现。 微服务的主要目的是将原本独立的系统拆分成多个小的,有独自进程运行的,同时这些小的服务单元之间通过RPC或者HTTP协议来相互通讯协作。每个独立的服务单元内部都有自己的数据存储、业务逻辑开发和自己的运维部署机制。我们在享受着微服务化后带来的灵活性
Tech 导读 本文从整体介绍了混沌演练的实践流程,读者可以通过本文了解到混沌实践的典型演练场景、重要考核指标以及风险控制方案等。
藉由以下的几个主题,可以大致了解JSF的轮廓与特性,我们来看看网页设计人员与应用程序设计人员各负责什么。
领取专属 10元无门槛券
手把手带您无忧上云