代码拉取完成,页面将自动刷新
Trpc是一个分布式rpc框架。
特点:
examples目录下
如果你的项目使用spring boot,这是你的最佳选择
如果你的项目使用spring
1.扫描TrpcService接口
@TrpcServiceScan的basePackages中指定TrpcService接口所在的包
@SpringBootApplication
@TrpcServiceScan(basePackages = "tong.trpc.examples.order_example.common")
public class OrderApp {
public static void main(String[] args) {
SpringApplication.run(OrderApp.class, args);
}
}
2.在resources下增加trpc.properties,配置如下
connectZkStr=127.0.0.1:2181
trpcServicesBasePackage=tong.trpc.examples.order_example.common
serviceName=order
serverAddress=127.0.0.1
serverPort=8005
balancePolicyClassName=tong.trpc.core.discovery.RoundRobinPolicy
#connectZkStr zookeeper的连接地址
#trpcServicesBasePackage trpc服务的基包,用于初始化服务缓存,提前从服务中心拉去服务缓存起来
#serviceName trpc服务端的服务名
#serverAddress trpc服务端的地址
#serverPort trpc服务端的端口
# balancePolicyClassName 负载均衡算法的实现类,不填则是默认实现
3.添加TrpcService
@TrpcService(serviceInstanceName = "product")
public interface TrpcProductService {
TrpcInvocation<Product> getProduct(Long productId);
}
对应的业务接口不已Trpc开头
public interface ProductService {
Product getProduct(Long productId);
}
@Service
@Slf4j
public class ProductServiceImpl implements ProductService {
@Override
public Product getProduct(Long productId) {
Product product = new Product();
product.setProductId(productId);
product.setName(String.format("Name[%s]", product.getProductId()));
product.setDesc(String.format("Desc[%s]", product.getProductId()));
product.setPrice(10);
log.info("查询到{}", product.toString());
return product;
}
}
4.使用
@Autowired
private TrpcProductService productService;
@PostMapping("/createOrder")
public Order createOrder(@RequestBody Order order) {
...
Product product = productService.getProduct(order.getProductId()).sync();
...
}
跟spring boot的步骤基本一致。
不同点
@SpringBootApplication(scanBasePackages = {"tong.trpc.core", "tong.trpc.examples.order_example"})
@TrpcServiceScan(basePackages = "tong.trpc.examples.order_example.common")
public class OrderApp {
public static void main(String[] args) {
SpringApplication.run(OrderApp.class, args);
TrpcStarter.run();
}
}
1.zipkin启动,zipkin-server-2.24.0
trpc.properties增加以下
traceEnable=true
zipkinUrl=http://localhost:9411/api/v2/spans
请阅读自定义请求处理
见tong.trpc.core.TrpcConfig,里面定义了许多配置项
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。