微服务架构
文章平均质量分 77
_夜半钟声到客船
永远保持对技术的热情
展开
-
知识积累:java.io.FileNotFoundException: class path resource [templates/] spring-cloud-netflix-eureka-ser
注册中心Eureka启动后报错,根据报错信息查看源码是由于Freemarker默认加载,然后找不到对应的模版文件 “templates/” 所在路径。报错如下:java.io.FileNotFoundException: class path resource [templates/] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:/Desktop/m2/r原创 2021-12-06 14:03:00 · 1828 阅读 · 0 评论 -
生产稳定:基于docker搭建 JVM-微服务 监控(Prometheus+Grafana)
一、JVM监控基于docker安装node_exporter+prometheus+grafana下载镜像包:docker pull prom/node_exporterdocker pull prom/prometheusdocker pull grafana/grafanadocker pull timonwong/prometheus-webhook-dingtalk1、启动node-exporterdocker run -d --name node_exporter -p 910.原创 2021-11-02 12:56:56 · 1736 阅读 · 0 评论 -
微服务注册中心,服务手动剔除,Eureka、Nacos
日常工作中,排查问题时通常需要将注册中心的服务手动剔除掉,将请求不在路由到某个服务。Eureka:通过Postman发起Delete请求http://eureka注册中心地址/eureka/apps/服务名/实例IP:实例端口Nacos通过Postman发起Delete请求http://nacos注册中心地址/nacos/v1/ns/instance?serviceName=服务名&ip=实例IP&port=实例端口-------------欢迎各位留言交流,如有不正确的原创 2021-11-02 11:04:15 · 751 阅读 · 0 评论 -
生产稳定:JVM-MySQL-Tomcat-服务调用,调优相关
一、JVM1、开始调优根据需求进行JVM规划和预调优,这个其实后置了;优化运行JVM运行环境(慢,卡顿),内存不停增长;解决JVM运行过程中出现的各种问题(OOM);2、当前运行环境和配置 以及监控告警监控告警:目前采用的是单ECS实例部署一个服务的方式,通过对硬件内存的监控来做的告警。可以直接监控JVM:Grafana + Prometheus 监控JVM配置参数调整和测试:增加gc 日志和 内存设置:-Xloggc:/data/logs/gc/xxx-service-gc-%t.l原创 2021-11-02 09:49:17 · 584 阅读 · 1 评论 -
生产稳定:基于docker 搭建skywalking8.6.0-es7 链路追踪和JVM监控平台,钉钉告警,skywalking搭建
最近项目中需要做微服务架构服务链路追踪和JVM监控平台,对比了几个组件平台,最终选择了SkyWalking,【分布式系统的应用程序性能监控工具,专为微服务、云原生和基于容器(Docker、Kubernetes、Mesos)架构而设计。】官网地址:https://skywalking.apache.org/相关版本:skywalking-oap:skywalking-oap-server:8.6.0-es7skywalking-ui:skywalking-ui:8.6.0skywalking-apm原创 2021-10-12 21:54:59 · 3699 阅读 · 9 评论 -
【SpringCloud 微服务】微服务通信
基于SpringCloud的微服务之间通信采用RestTemplate调用,现在通常用Feign 和 Open Feign 封装的Rest调用,服务调用通过负载均衡算法选择某个服务的实例发起Feign 调用。什么是Feign?Feign 的英文表意为“假装,伪装,变形”, 是一个http请求调用的轻量级框架,可以以Java接口注解的方式调用Http请求,而不用像Java中通过封装HTTP请求报文的方式直接调用。Feign通过处理注解,将请求模板化,当实际调用的时候,传入参数,根据参数再应用到请原创 2021-06-07 08:48:59 · 704 阅读 · 0 评论 -
【SpringCloud 微服务】服务治理
1、注册中心为什么需要服务治理?随着单体应用向分布式微服务架构的迁移,面向不同业务域的微服务越来越多,微服务集群的规模增长迅速。之前只需要对单体应用进行监控管理的情况,现在则要面对的是几十甚至上百个微服务的监控管理。服务化的特点及优势根据业务范围拆分成多个服务 各个服务独立运维部署 服务间可通信(Rest、RPC、MQ)服务化的优势架构上系统更加清晰 核心模块稳定,以服务组件为单位进行升级,避免了频繁发布带来的风险 开发管理方便 单独团队维护、工作分明...原创 2021-06-03 16:07:39 · 745 阅读 · 3 评论 -
SpringCloud open feign too many bytes written问题处理
当SpringCloud中使用open feign调用其他服务时出现IO Exceptiontoo many bytes written的问题,首先通过查看源码知道HttpURLConnection#StreamingOutputStream具体的报错地方:@Override public void write (byte[] b, int off, int len) throws IOException { checkError(); .原创 2021-05-26 23:05:49 · 4431 阅读 · 0 评论 -
【SpringCloud 微服务】什么是Spring Cloud,什么是微服务
Spring Cloud什么是 Spring Cloud? Spring Cloud为开发人员提供了工具,可快速构建分布式系统,是基于Spring Boot的Spring集成应用程序,简化了分布式微服务系统基础设施的开发。通过Spring Boot风格进行封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等。和Spring Boot的关系 Spring Boot可以离开Spring原创 2021-05-26 11:03:25 · 402 阅读 · 2 评论 -
最新2023面试--Java资深研发面试题(附答案和思路)
由于近期本人和朋友进行了一些公司的面试,坐标江浙沪城市。现在整理和分享一下大概的题目。希望对各位读者提供一些帮助!!!大部分企业为互联网公司,主要是面试官围绕项目聊技术栈,然后深度和广度扩展,也含有一些简单算法题,毕竟没面字节。Java类1、JVM内存结构,内存模型,对象创建过程;2、JVM垃圾收集器原理,JVM调优,CMS的过程;3、类加载机制,是否遇到违反双亲委派的场景?4、并发同步的知识点,synchronize和lock的区别,使用场景。 volatile的底层实...原创 2021-05-10 11:16:58 · 5149 阅读 · 0 评论 -
整合spring-cloud-alibaba、dubbo和nacos注册中心微服务
此环境需要nacos本地单机模式启动:本地构建nacos 启动此环境包含的模块:dubbo接口定义 服务生产者ServiceA 服务消费者ServiceB1.dubbo接口定义package com.fu;public interface ServiceA { String greet(String name);}2.服务生产者ServiceApom配置:<?xml version="1.0" encoding="UTF-8"?><p原创 2020-09-01 11:28:51 · 612 阅读 · 1 评论 -
Zookeeper的选主机制,分布式集群协调
ZooKeeper是什么?ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services.翻译为:ZooKeeper是一个集中的服务,用于维护配置信息、命名、提供分布式同步和提供组服务。配置管理现在很多的应用都需要获取配置信息,通常都是由统一集群管理和维护原创 2020-06-16 10:09:45 · 494 阅读 · 0 评论 -
由feign调用报错引起的分析和调试
认证项目的 feign调用用户服务出现的错误:Caused by: org.springframework.web.client.RestClientException: Could not extract response: no suitable HttpMessageConverter found for response type [class com.x.y.MsgResult] and content type [application/octet-stream]根据上面的错误可以了解到原创 2020-06-08 23:54:46 · 3153 阅读 · 0 评论 -
【SpringCloud 微服务】 Eureka架构原理及源码分析
Eureka架构及源码分析服务注册: Eureka Client会通过发送HTTP REST请求的方式向Eureka Server将自己注册为服务,提供自身的元数据,比如 IP 地址、端口、运行状况指标的URL、主页地址等信息。Eureka Server接收到注册请求后,就会把这些元数据信息存储在一个ConcurrentHashMap中。服务续约: 在服务注册后,Eureka Client会维护一个心跳来持续通知Eureka Server,说明服务一直处于可用状态,防止被剔除。Eureka Clien原创 2020-06-03 17:30:13 · 1110 阅读 · 0 评论 -
手动搭建k8s集群,搭建第一个程序
1. 所有节点配置hostsvi /etc/hosts 添加:192.168.220.131 K8S-master01 192.168.220.132 K8S-master02 192.168.220.133 K8S-master03 192.168.220.135 K8S-node01 192.168.220.136 K8S-node022. 所有节点关闭防火墙、selinux、dnsmasq、swapsystemctl disable --now firewalld system原创 2020-06-03 11:03:16 · 465 阅读 · 0 评论 -
springcloud zuul网关和微服务层同时支持跨域解决方案
1.每个微服务支持跨域,import org.springframework.context.annotation.Configuration;import org.springframework.web.servlet.config.annotation.CorsRegistry;import org.springframework.web.servlet.config.annotat...原创 2018-12-10 13:57:58 · 5041 阅读 · 0 评论 -
springboot+springcloud 微服务架构搭建
1.背景目的随着业务的增长和复杂性的不断增加,传统的技术手段已经越来越难以维护和实现。微服务,需要系统要提供一套基础的架构,提供微服务的底座功能, 支持微服务的松耦合和带来的优点.需要以下:每个业务服务采用独立的MYSQL数据库,初期考虑用到如下组件:1. 服务注册、发现: eureka 2. 配置管理: apollo 3. 集群容错: hystrix 4. API网关...原创 2020-07-09 17:54:27 · 830 阅读 · 0 评论